次のような 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 = "risk" の 2 つのコーディング オブジェクトがあり、1 つはコーダー 3 用、もう 1 つはコーダー 4 用です。コーダ 3 とコーダ 4 の間の値は 1 より大きくなります。値フィールドには 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