使用Django ManyToMany关系示例。首先需要初始化?

时间:2011-11-28 02:59:42

标签: django django-models django-admin

刚刚完成了Django教程。开始我自己的项目。使用ManyToMany关系示例here。我在admin.py中添加了以下控件:

class ArticleInline(admin.TabularInline):
    model = Article
    extra = 3

class PublicationAdmin(admin.ModelAdmin):
    inlines = [ArticleInline]

admin.site.register(Publication, PublicationAdmin)

但是当我尝试在管理页面中添加一个出版物时,它说:

<class 'polls.models.Article'> has no ForeignKey to <class 'polls.models.Publication'>

在创建出版物之前,是否必须初始化文章?创建出版物是否让Django寻找文章?

感谢您的帮助。刚开始。这是非常令人兴奋的,但非常令人兴奋。

1 个答案:

答案 0 :(得分:1)

如果您正在使用多对多关系,则需要访问实际的直通模型。

我假设你有类似的东西:

class Publication(models.Model):
    [...]  # your other stuff
    articles = models.ManyToManyField(Article)

假设构造,您使用拼写相似的属性访问through模型:

class ArticleInline(admin.TabularInline):
    model = Publication.articles.through
    [...]  # whatever else you need

希望有所帮助!