我在Django中具有以下模型:
class Priority(models.Model):
task = models.ForeignKey(Task, on_delete=models.CASCADE)
priority = models.PositiveSmallIntegerField
但是,当我运行makemigrations并进行迁移时,字段优先级(models.PositiveSmallIntegerField)没有出现在mysql表中,并且我无法创建该模型的对象。为什么?
答案 0 :(得分:2)
因为您没有构造一个字段,所以只传递了对该类的引用,因此需要添加方括号(()
)进行调用:
class Priority(models.Model):
task = models.ForeignKey(Task, on_delete=models.CASCADE)
priority = models.PositiveSmallIntegerField()
# call the constructor ^^
如果不调用构造函数,则将priority
设置为对PositiveSmallIntegerField
class 的引用,而不是作为PositiveSmallIntegerField
对象。