我不知道我是否正确地表达了这个问题。如果我应该把它称为其他东西,请随意发表评论。
但这正是我想要完成的,模型的某些层次结构如此:
Page <--- SubPage.1 <--- SubPage.1.1 <--- SubPage.1.1.1 ...
|__________| ^ ...and so on
| |-- SubPage.1.1.2 ...
|
tags #m2m or some other object
#with foreign key relation
其他一些属性:
那么坚持DRY哲学的最佳方法是什么?
这就是我所拥有的:
class Page(models.Model):
....
class SubPage(Page):
parent = models.ForeignKey('self', related_name = 'subpage_set', blank = 'True')
root = models.ForeignKey(Page, related_name = 'rootpage_set')
我不喜欢这种方式,但有几个原因。 1)SubPage.root是重复的,它就在那里快速找到Page
。 2)保存SubPage
对象也会保存Page
对象,我想将它们分开。
感谢您的帮助,谢谢