我有一個查詢集,categories = unipart.categories.all()
,這是一個unipart對象鏈接到的所有類別。從Django的查詢集中消除對象的最簡單方法
但是,我想刪除此列表中的頂級類別 - 即。那些具有unipart也列在其中的子類別。
或者那些parent_id等於查詢集中category_id之一的類別。
例如,如果一個unipart在上市: 肉豆蔻(父=香料)和 香料
那麼我只想包括肉豆蔻(父=食品) - 所以基本上我想「流行'來自查詢集的香料。
這樣做的最好方法是什麼?我寧願不使用列表。
這裏是我的模型:
class UniPart (models.Model):
categories=models.ManyToManyField(Category, related_name = 'unipart')
class Category (MPTTModel):
category = models.CharField(max_length=250)
oc_id= models.IntegerField()
parent = TreeForeignKey('self', blank=True, null=True, related_name='children')
def __unicode__(self):
發佈你的模型總是有幫助,而不是用單詞描述關係。 – miki725
什麼是類別管理器?你可以顯示它的代碼嗎? – sergzach