0

我在 Django 中有两个模型:其中一个是一堆条目,另一个模型是链接表 - 它基本上将一个条目映射到另一个,所以它有一个 entry_a_id 和一个 entry_b_id 字段......我如何编写一个 QuerySet查询以正确选择第一个条目的相关字段,然后选择第二个?

=== 编辑 ===

这是一个例子:

class Nodes(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=45)
    description = models.CharField(max_length=255)

class Links(models.Model):
    id = models.AutoField(primary_key=True)
    node_a_id = models.ForeignKey('Nodes')
    node_b_id = models.ForeignKey('Nodes')

因此,按照上述(或输入),我希望能够根据模型弄清楚如何获得, node_a_id, name, description,node_b_idname最终结果。如果您希望我进一步澄清,请告诉我。descriptionLinks

4

1 回答 1

0

我可能误解了,但我走了。有一个Link对象:

>>> link = Links.objects.all()[0]

您自动可以访问您的对外关系 (node_a_idnode_b_id) 的字段。有了它,您可以执行以下操作:

>>> link = Links.objects.all()[0]
>>> link.node_a_id.id
1
>>> link.node_a_id.name
'Name for node A'
>>> link.node_a_id.description
'Description for node B'
>>> link.node_b_id.id
2
>>> link.node_b_id.name
'Name for node B'
>>> link.node_b_id.description
'Description for node B'

作为旁注,使用id自动递增主键字段是没有意义的,因为您可以免费获得它:AutoFieldAutomatic primary key fields

于 2013-04-02T21:24:15.930 回答