假设我在我的模型中跟随类:
class User(BaseModel):
..
class Node(BaseModel):
..
author = models.ForeignKey(User, related_name='%(class)ss')
tags = models.ManyToManyField('Tag', related_name='%(class)ss')
..
class Tag(BaseModel):
..
现在,我希望在User
类中有一个方法,它将返回用户节点的所有标记:
class User(BaseModel):
..
def get_tags(self):
# Here some more querying for tags in selected nodes
user_tags = self.nodes.filter(author=self) # What to add if possible?
return ..
我希望user_tag
集合包含已由给定用户创作的节点中使用的所有标记。如何在没有自定义SQL的情况下实现这一目标?