没有外键的两个表之间的django queryset

时间:2017-12-01 05:56:40

标签: django postgresql

我正在尝试从两个没有外键关系的表中获取结果,只是想知道我正在使用的方法是对的。

django.db import models
django.contrib.auth.user import User

class UserWorkExperience(models.Model):
    user = models.ForeignKey(UserProfile)
    job_title = models.CharField(max_length=255)
    salary = models.IntegerField(null=True,default='0')

class UserSkills(models.Model):
    user = models.ForeignKey(UserProfile)
    skill_name = models.CharField(max_length=255)

所以我想要的是

的所有记录
  1. 拥有职称和软件工程师的所有用户的技能。和薪水大于' 100000'

1 个答案:

答案 0 :(得分:2)

user_ids = UserWorkExperience.objects.filter(job_title='software engineer', salary__gt=100000).values_list('user', flat=True)
skills = UserSkills.objects.filter(user__in=user_ids)

建议使用ForeignKey作为job_title以及skill_name