【发布时间】:2023-04-05 14:19:01
【问题描述】:
我想在 Django 中有一个抽象的Company 模型,并根据所涉及的公司类型对其进行扩展:
class Company(models.Model):
name = models.CharField(max_length=100)
address = models.CharField(max_length=100)
class Meta:
abstract = True
class Buyer(Company):
# Buyer fields..
pass
class Seller(Company):
# Seller fields...
pass
系统上的每个用户都与一家公司相关联,因此我想将以下内容添加到用户配置文件中:
company = models.ForeignKey('Company')
但这给出了可怕的错误:
main.Profile.company: (fields.E300) 字段定义与 模型 'Company',要么未安装,要么是抽象的。
所以我想我正在尝试做的事情无法完成。我看到contenttypes 框架可以用于此目的,正如this 问题中所回答的那样。我的问题是我不希望 company 字段指向 any 模型,而只是 Company 模型的子类。
还有什么我可以用来做这个的吗?
【问题讨论】:
标签: python django django-models