2009-07-01 139 views
2

我正在写有这样的(伪)递归关系中的应用:定义的Django模型关系

class atist: 
     name = charfield 
     (...) 

class press: 
     pub = foreingkey(artist) 

class works: 
     work = foreingkey(artist) 

class img: 
     im = foreingkey(works) 

我在想,如果这是更好的方法来解决这个问题,还是我会使用另一种类似许多很多的关系?另一方面,我如何才能在管理网站注册这个应用程序,让艺术家只有一个页面,并将其作为艺术家的内嵌对象?

感谢

+0

我一直在推荐Django文档站点以供参考,但是我发现这样的东西不清楚。这是一个很好的问题,我希望我知道答案。 – AlbertoPL 2009-07-01 20:23:13

回答

5

如果一个作品,IMG或按将只涉及到一个艺术家,那么你并不需要一个多对多的,所以你有它安装在你的伪代码的方式应该足够了。

您可以查看管理员的inline froms。您可以指定诸如要显示的每种类型的内嵌项目的数量等。

class MyModelInline(admin.StackedInline): 
     model = MyModel 
     # whatever other options you need for your inline 

class MyModelAdmin(admin.ModelAdmin): 
     inlines = [MyModelInline,] 

类似的东西应该适合您。就像AlbertoPL说的那样,文档中有更多信息,包含您需要的所有不同选项和功能。