假设我有一个myapp
django应用,我需要定义2个与联系人相关的特定模型,例如
myapp.PersonContact
myapp.CompanyContact
要做的一些显而易见的事情是创建一个新的contacts
应用并定义一个抽象的contacts.Contact
模型,然后可以在myapp.models
中重用该模型,例如:
# contacts/models.py
from django.db import models
class Contact(models.Model):
name = models.CharField(max_length=80)
...
class Meta:
abstract = True
# myapp/models.py
from contacts.models import Contact
class PersonContact(Contact):
person = ...
class CompanyContact(Contact):
company = ...
我的目标是将尽可能多的逻辑抽象到contacts
应用程序中,但是唯一想到的就是定义一个Abstract类contacts.Contact
并使用它,这样我就不必在myapp.PersonContact
和myapp.CompanyContact
中重新定义相同的字段。
可以通过某种方式在contacts.Contact
应用程序中定义contacts
相关的视图和/或模板,这样我就不必为{{1 }}和PersonContact
?