在django中通过fk进行迭代

问题描述

| 如果我有这样的表在Django模型中表示
person
------
id
name

worker
------
personid
jobid

job
---
id
desc
wage

w=Worker.objects.filter(<some sort of filter)
现在我想要与
w
相关的所有
persons
给出了
w
,我不能使用该语句。 最终我想返回代表
dict
的json字符串 以
idperson
键和
{\"job\":jobid,\"wage\":wage}
键 key7ѭ列表中该键的一个值     

解决方法

您应该能够与我们联系,并拥有您想要的任何对象集合。它看起来应该像这样:
w = Worker.objects.filter(job__in=Job.objects.filter(somefilterhere))
当然,您可以从这里遍历您的工作人员并建立您的清单:
somelist = []
for worker in w:
    somelist.append({\'person\': worker.person.id,\'wage\': worker.job.wage})
    ,http://docs.djangoproject.com/en/1.3/topics/db/queries/#following-relationships-backward
Person.objects.filter(worker__id__in=[worker.pk for worker in w])
信誉支持     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...