首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有不同模型外键的DJango queryset过滤器

具有不同模型外键的DJango queryset过滤器
EN

Stack Overflow用户
提问于 2018-07-01 07:58:15
回答 1查看 1.5K关注 0票数 0

我是DJango ORM的初学者,我想做一个查询集如下所示

这就是我所做的模型:

代码语言:javascript
复制
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中,查询将是:

代码语言:javascript
复制
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做类似的事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 08:14:09

可以向招聘人员的职务公告查询学生申请,如下所示:

代码语言:javascript
复制
# 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)

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51121460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档