私は、次のモデルがあります:Django ORMでLeft Outer Joinを実行するには?
class CandidateDetail(models.Model):
full_name = models.CharField(max_length=128, null=True)
email_id = models.CharField(max_length=64, null=True)
created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now=True)
class Retake(models.Model):
id = models.UUIDField(default=uuid.uuid4, primary_key=True, unique=True)
candidate_detail = models.ForeignKey('CandidateDetail')
is_expired = models.BooleanField(default=False)
owner_detail = models.ForeignKey(User)
created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now=True)
私は、次のLEFT OUTERは、クエリ結合を実行します:
SELECT s.*, r.* FROM app_candidatedetail s LEFT OUTER JOIN app_retake r ON (s.id = r.candidate_detail_id)
DBは、PostgreSQLです。
私は
qset = CandidateDetail.objects.raw('SELECT s.*, r.* FROM app_candidatedetail s LEFT OUTER JOIN app_retake r ON (s.id = r.candidate_detail_id)')
を使用してクエリを行うことができCandidateDetailテーブルのid
フィールドが主キーとして機能するIntegerField
あるジャンゴのデフォルトのIDです。
しかし、これをシリアライザで使用してJSONとして結果を返したいと思います。この問題のORMクエリを書く方法と、このクエリのシリアライザを作成する方法について教えてください。
ありがとうございました。