python - Django 模型表不包含给定字段

标签 python django

我在 Django 中有以下模型:

class Priority(models.Model):
    task = models.ForeignKey(Task, on_delete=models.CASCADE)
    priority = models.PositiveSmallIntegerField

但是,当我运行 makemigrations 并迁移时,字段优先级 ( models.PositiveSmallIntegerField ) 不会出现在 mysql 表中,并且我无法创建该模型的对象。为什么?

最佳答案

因为您没有构造字段,您只传递了对该类的引用,因此您需要添加括号 (()) 来进行调用:

class Priority(models.Model):
    task = models.ForeignKey(Task, on_delete=models.CASCADE)
    priority = models.PositiveSmallIntegerField<b>()</b>
    #                     call the constructor ^^

如果您不调用构造函数,则已将 priority 设置为对 PositiveSmallIntegerField class 的引用,而不是设置为 PositiveSmallIntegerField 对象。

关于python - Django 模型表不包含给定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56619668/

相关文章:

python - 惯用的 Python : 'times' loop

python - 创建一个空的 SQLAlchemy 查询作为搜索模型的基础

python - 真正的文件对象比 StringIO 和 cStringIO 慢?

python - 按照教程进行:无法运行Django的Docker容器

python - 如何在我的类中设置默认字段以迁移到 Django Rest 中的 sqlite 数据库?

python - 如何使用 API 和 Python 提取数据?

python - Networkx 重复边

python - choicefield的Django初始值

python - 如何过滤 Django 对象以接受匹配项和 NULL?

django - 如何将 Django 信号与抽象模型一起使用?