我有一个查询集,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