gpt4 book ai didi

django-admin - 为什么 django admin 不接受 Nullable 外键?

转载 作者:行者123 更新时间:2023-12-03 14:32:30 26 4
gpt4 key购买 nike

这是我的一个模型的简化版本:

class ImportRule(models.Model):
feed = models.ForeignKey(Feed)
name = models.CharField(max_length=255)
feed_provider_category = models.ForeignKey(FeedProviderCategory, null=True)
target_subcategories = models.ManyToManyField(Subcategory)

此类管理用于将项目列表从提要导入数据库的规则。

管理系统不会让我在不选择 feed_provider_category 的情况下添加 ImportRule,尽管它在模型中被声明为可为空。数据库(目前是 SQLite)甚至可以正常检查:
>>> .schema
...
CREATE TABLE "someapp_importrule" (
"id" integer NOT NULL PRIMARY KEY,
"feed_id" integer NOT NULL REFERENCES "someapp_feed" ("id"),
"name" varchar(255) NOT NULL,
"feed_provider_category_id" integer REFERENCES "someapp_feedprovidercategory" ("id"),
);
...

我可以很容易地在 python shell 中创建对象:
f = Feed.objects.get(pk=1)
i = ImportRule(name='test', feed=f)
i.save()

...但是管理系统当然不允许我编辑它。
如何让管理员在不指定外键的情况下让我编辑/创建对象?

最佳答案

怎么样blank=True ?来自 Django's docs :

If True, the field is allowed to be blank. Default is False.

关于django-admin - 为什么 django admin 不接受 Nullable 外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2493341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com