在Django中,ForeignKey字段与抽象模型相关联。

15 浏览
0 Comments

在Django中,ForeignKey字段与抽象模型相关联。

我有这个模型:

class BaseModel(models.Model):
    ....
    class Meta:
        abstract = True
class ModelA(BaseModel):
    ....
class ModelB(BaseModel):
    ....
class MyExtModel(models.Model)
    myfield = models.ForeignKey(BaseModel)

但这是不正确的,因为我把BaseModel定义为了Abstract。实际上,当我尝试运行makemigration命令时出现了错误。

错误信息如下:

ERRORS:
myapp.MyExtModel.myfield: (fields.E300) Field defines a relation with model 'BaseModel', which is either not installed, or is abstract.

有没有办法使用抽象基模型?

我还尝试了以下方式:

myfield = models.ForeignKey(BaseModel, related_name="%(app_label)s_%(class)s_related")

0