在我的Django模型文件,我有:Django模型:如何结合来自两个foreignkey字段的反向访问集?
class Node(models.Model):
name = models.CharField(max_length=16)
class Segment(models.Model):
start = models.ForeignKey(Node, related_name='start_segments')
end = models.ForeignKey(Node, related_name='end_segments')
从Node对象,我想访问所有细分对象,要么开始或结束指向节点,从单一属性的名称,如:
node_x.segment_set
然而,就我所见,这是不可能的。我只提供了两个不同的related_name-s,以避免出现其他错误。否则,我想创建一个结合两者的单个集合。
我可以创建一个实用程序方法,它将返回组合集。但是,它不适用于查询。在我的应用程序中,我经常需要考虑连接到节点的所有分段。