簡體   English   中英

模型中的Django related_name

[英]Django related_name in Models

關於在models.py中正確配置related_name任何建議,以創建類別和子類別結構? 運行syncdb時出錯:

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'

任何建議,不勝感激。 謝謝

您不能同時將Category和FK上的遞歸關系從SubCategory稱為Category“ children”。 為其中一個選擇其他名稱。

不過,我必須說,這似乎根本不適合MPTT。 公司不會陷入樹上的關系,因為它們大概處於同一水平,蘇打水類型也不會。例如,“可樂”變成“蘇打水”的孩子意味着什么? 聽起來您想要一個從Company到SodaType的簡單的ManyToMany關系,以便每個公司可以有多種蘇打類型,每種類型可以由多個公司制造。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM