我是DJango ORM的初学者,我想做一个查询集如下所示
这就是我所做的模型:
class Job(models.Model):
title = models.CharField(max_length=255)
description = models.CharField(max_length=255)
tags = models.CharField(max_length=255, choices=job_type)
recruter_id = models.ForeignKey(User)
def __str__(self):
return self.title
objects = JobManager()
class StudentApplication(models.Model):
job_fk = models.ForeignKey(Job)
student_fk = models.ForeignKey(User)
title = models.CharField(max_length = 255)
def __str__(self):
return self.title在此中,招聘人员可以列出招聘公告,数据将在Job模型中输入,学生可以申请该职位,数据将在StudentApplication模型中输入,其中学生ID和职务ID作为外键。(我有一个用户模型,其中user_type=1用于学生,user_type=2用于招聘人员)现在,我想进行查询,向招聘人员显示数据,以及学生申请了哪些职位。
在SQL中,查询将是:
select * from StudentApplication as SA
left join Job as j on j.id = sa.job_fk
where j.recruiter_id = logged_in_user如何使用DJango的ORM做类似的事情?
发布于 2018-07-01 08:14:09
可以向招聘人员的职务公告查询学生申请,如下所示:
# Retrieve a recruiter from `User` data model
$ recruiter = User.objects.get(email=<recuiter-email>)
# Now, Query student applications to our recruiter's job postings
$ student_applications = StudentApplication.objects.filter(job_fk__recruter_id=recruiter)希望能帮上忙。
https://stackoverflow.com/questions/51121460
复制相似问题