我有一个Django的模型,看起来像这样的价值观:Django的比较两个对象
class Response(models.Model):
transcript = models.TextField(null=True)
class Coding(models.Model):
qid = models.CharField(max_length = 30)
value = models.CharField(max_length = 200)
response = models.ForeignKey(Response)
coder = models.ForeignKey(User)
对于每一个Response对象,存在与QID =“风险”两种编码对象,一个编码器3和一个对于编码器4.我希望能够做的是得到编码器3和编码器4之间的差值大于1的所有Response对象的列表。值字段存储编号1-7。
我后来认识到,设置CharField的价值可能是一个错误,但希望我能解决这个问题。
我相信类似如下的SQL会做什么,我在寻找,但是当你在查询中加入一个表已经我宁愿做这与ORM
SELECT UNIQUE c1.response_id FROM coding c1, coding c2
WHERE c1.coder_id = 3 AND
c2.coder_id = 4 AND
c1.qid = "risk" AND
c2.qid = "risk" AND
c1.response_id = c2.response_id AND
c1.value - c2.value > 1
我想你的意思是包括'c1.response_id = c2.response_id'您的查询的WHERE子句。 – 2013-05-11 22:56:25
@AryehLeibTaurog是的,我做到了。谢谢。 – Ryan 2013-05-11 23:40:07