【问题标题】:Django - null ForeignKeyDjango - 空外键
【发布时间】:2011-05-06 06:21:07
【问题描述】:

我有类 SubForum 与 ForeignKey to self - parent:

class Forum(models.Model):
    name = models.CharField(max_length=200)
    url = models.URLField()

class SubForum(models.Model):
    name = models.CharField(max_length=200)
    orginal_id = models.IntegerField()

    forum = models.ForeignKey('Forum')
    parent = models.ForeignKey('self', null=True, blank=True)

我想允许 null 和空白输入 - 我看到示例表明这是执行此操作的正确方法。

在 sql 视图中一切正常:

BEGIN;CREATE TABLE "main_forum" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(200) NOT NULL,
    "url" varchar(200) NOT NULL
)
;
CREATE TABLE "main_subforum" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(200) NOT NULL,
    "orginal_id" integer NOT NULL,
    "forum_id" integer NOT NULL REFERENCES "main_forum" ("id"),
    "parent_id" integer
)
;COMMIT;

parent_id 字段中没有NOT NULL,但是当我想使用管理面板添加新的子论坛而不设置父级时,我收到错误:

Cannot assign None: "SubForum.parent" does not allow null values.

怎么了?

【问题讨论】:

    标签: django django-models django-admin foreign-keys


    【解决方案1】:

    我做了一些更改,将其还原,现在一切正常...我看不出与我在此处发布的代码有任何区别...

    我应该删除问题吗?

    【讨论】:

    • 在发现它不起作用之前,您是否有任何机会没有更新b。然后在您努力解决问题的过程中,您运行了 updatedb 并更新了您的数据库?
    • 不,你不应该删除它。一年后,这对我来说是一个很好的例子。
    猜你喜欢
    • 1970-01-01
    • 2013-04-19
    • 2019-08-01
    • 2020-12-18
    • 2018-01-06
    • 2013-10-25
    • 1970-01-01
    • 2015-09-29
    • 2016-01-10
    相关资源
    最近更新 更多