我正在编写一个具有这种递归关系的应用程序(伪代码):
class atist:
name = charfield
(...)
class press:
pub = foreingkey(artist)
class works:
work = foreingkey(artist)
class img:
im = foreingkey(works)
我在想,如果这是解决这个问题的更好方法,或者我会使用其他类似的关系,比如很多次?而对于另一方面我如何在管理网站注册这个应用程序,只有一个页面的艺术家与作品和按作为艺术家的内嵌对象?
感谢
答案 0 :(得分:5)
如果一个作品,img或者按下只会与一位艺术家有关,那么你不需要多对多,所以你在伪代码中设置它的方式就足够了。
您可以查看管理员的内联froms。您可以指定诸如每种类型显示的内联项目数等等。
class MyModelInline(admin.StackedInline):
model = MyModel
# whatever other options you need for your inline
class MyModelAdmin(admin.ModelAdmin):
inlines = [MyModelInline,]
这样的事情对你有用。就像AlbertoPL所说的那样,文档中有更多信息可以提供您需要的所有不同选项和功能。