有关在models.py中正确配置related_name
以创建类别和子类别结构的任何建议?运行syncdb
时出错:Django related_name in Models
myapp.category: Accessor for field 'parent' clashes with related field 'Category.children'. Add a related_name argument to the definition for 'parent'. myapp.category: Reverse query name for field 'parent' clashes with related field 'Category.children'. Add a related_name argument to the definition for 'parent'. myapp.subcategory: Accessor for field 'parent' clashes with related field 'Category.children'. Add a related_name argument to the definition for 'parent'. myapp.subcategory: Reverse query name for field 'parent' clashes with related field 'Category.children'. Add a related_name argument to the definition for 'parent'.
我试图做一个类别/子类别结构。例如,父类别是苏打水公司(可口可乐,百事可乐等),子类别是苏打类(可乐,苏打水等)。子类别可以与不同父类别相关,反之亦然。
下面是我有问题搞清楚模型(用django-mptt):
class Category(MPTTModel):
site = models.ForeignKey(Site)
template_prefix = models.CharField(max_length=200, blank=True)
name = models.CharField(max_length=200)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
def __unicode__(self):
return self.name + u' Category'
class SubCategory(MPTTModel):
name = models.CharField(max_length=50, unique=True)
parent = TreeForeignKey('Category', null=True, blank=True, related_name='children')
def __unicode__(self):
return self.name + u' SubCategory'
任何建议都非常赞赏。谢谢
想要使用mptt,因为这种关系将比我上面提到的苏打/公司类比要深得多。非常感谢你的伟大建议。 –