【发布时间】:2023-03-09 14:57:01
【问题描述】:
我正在学习 django,所以我有很多问题,一个是如何重用模型?我的意思是模型位于应用程序文件夹中,但某些模型在两个不同的应用程序之间完全相同。 那么每次我写一个新的应用程序时我应该重写模型吗?
【问题讨论】:
标签: django models code-reuse
我正在学习 django,所以我有很多问题,一个是如何重用模型?我的意思是模型位于应用程序文件夹中,但某些模型在两个不同的应用程序之间完全相同。 那么每次我写一个新的应用程序时我应该重写模型吗?
【问题讨论】:
标签: django models code-reuse
如何重用模型。
重用模型的最佳方法是继承父模型类。这就是你必须这样做的方式。继承自models.Model。
from django.db import models
class trial(models.Model):
# override the parent class methods here or define your own
还要确保您在相应的 models.py 文件中 import 您的应用模型。
【讨论】:
如果您的模型在不同的应用程序中完全相同相同,那么您做错了什么。不要忘记,一个应用程序基本上只是一组模型,您可以通过导入一个应用程序的模型在另一个应用程序中使用它们。
您能否举一个具有完全相同模型的两个应用程序的示例?
【讨论】:
是的,当您的应用程序名称相同时,这是错误的 你也可以使用abstract models
class CommonInfo(models.Model):
name = models.CharField(max_length=100)
age = models.PositiveIntegerField()
class Meta:
abstract = True
class Student(CommonInfo):
home_group = models.CharField(max_length=5)
【讨论】: