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



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

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"
  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

最新更新