モデルで次のクラスを使用しているとします。
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 を使用せずにこれを実現するにはどうすればよいですか?