假设我的模型中有以下类:
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 的情况下实现这一点?