2011-11-28 65 views
2

刚刚完成了Django教程。开始我自己的项目。使用ManyToMany关系示例here。我在下面的控件添加在我的admin.py:使用Django ManyToMany关系示例。首先需要初始化?

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

如果您使用的是多对多关系,则需要访问实际的穿透模型。

我假设你有这样的:

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

假设建设,您使用的属性同样拼写访问through型号:

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

希望帮助!

+0

谢谢,这工作!感谢您抽出宝贵时间回答这个问题,但这不是我的例子,但我想我应该先做更多的阅读/教程。 – Generacy