【发布时间】:2011-01-30 09:40:47
【问题描述】:
这是我的一个模型的简化版本:
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()
...但是管理系统当然不允许我编辑它。 如何让管理员在不指定外键的情况下让我编辑/创建对象?
【问题讨论】:
标签: django-admin foreign-keys nullable