【发布时间】:2021-10-30 01:22:11
【问题描述】:
我有一个基本模型 BaseStage 和两个继承模型 TestSpend , StageSpend
class BaseStage(models.Model):
name = models.CharField
date = models.DateField
.......
class TestSpend(BaseStage):
direction = models.CharField
class StageSpend(BaseStage):
direction = models.CharField
现在我尝试向 Meta 添加约束字段
class Meta:
verbose_name = ''
verbose_name_plural = ''
constraints = [
models.UniqueConstraint(
fields=['direction', 'name', 'date'], name='unique_name'
)
]
适用于两种型号。成功运行makemigrations命令,但是当运行migarte得到了
django.db.utils.ProgrammingError: column "name" named in key does not exist
【问题讨论】:
-
有'BaseStage'设置
class Meta: abstract=True?如果没有,您将无法按照您的方式使用您的模型。class Meta你是写在TestSpeed和StageSpend还是BaseStage? -
我将
abstract=True添加到我的基本模型并成功迁移。谢谢!如果你愿意,你可以把它写成答案,我会接受它