所以我正在尝试设置一个条目发布系统,用户可以在创建条目时选择一堆相关条目。如果我可以使用InlineModelAdmin,它会很棒。但它一直想要一个外键,由于某种原因,我无法正确设置。
以下是我的情况的简化设置:
models.py
class Entry(models.Model):
entry = models.ForeignKey('self', related_name='related_entry', null=True, blank=True)
title = models.CharField(max_length=100, verbose_name='title')
description = models.TextField(verbose_name='description')
def __unicode__(self):
return self.title
admin.py
class EntryInline(admin.TabularInline):
model = Entry
verbose_name = "related entry"
class EntryAdmin(admin.ModelAdmin):
inlines = [
EntryInline,
]
admin.site.register(Entry, EntryAdmin)
我遇到的问题是:
/ admin / app / entry / add /中的DatabaseError 列app_entry.entry_id没有 存在LINE 1:SELECT“app_entry”。“id”, “app_entry”。“entry_id”,“......
我仍然只是潜入django的神奇世界,所以如果有人能指出我出错的地方,我将不胜感激!
答案 0 :(得分:3)
首先,我尝试了你在我的机器中提供的代码(Django 1.2.3,Python 2.6.2,Ubuntu Jaunty),据我所知,它运行良好。
用户可以在创建条目时选择一堆相关条目。
如果您希望条目与一堆条目相关,那么您是否应该使用ManyToMany
关系?您的代码目前定义了ForeignKey
。
admin.py
...
admin.site.register(Entry,EntryAdmin)
您的管理员目前已设置为允许用户在同一页面中添加条目以及(可选)一个或多个相关条目(这非常有效)。这是你的期望吗?