【发布时间】:2018-04-08 16:29:57
【问题描述】:
我有以下型号:
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)
我要执行以下左外连接查询:
SELECT s.*, r.* FROM app_candidatedetail s LEFT OUTER JOIN app_retake r ON (s.id = r.candidate_detail_id)
数据库是 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 字段是Django 的默认ID,它是一个IntegerField 作为主键。
但是,我想在序列化程序中使用它来将结果作为 JSON 返回,但我找不到。请帮助我解决这个问题,了解如何为此编写 ORM 查询以及如何为此查询制作序列化程序。
谢谢。
【问题讨论】:
标签: django postgresql join