公司可以有许多职位类别。工作必须与该公司的工作类别相关。我该怎么做呢?
因此,工作是公司类别选择的外键。
class Company(models.Model):
job_categories = models.ManyToManyField(JobCategory,blank=False)
class Job(models.Model):
category = models.ForeignKey(Company, on_delete=models.CASCADE)
答案 0 :(得分:2)
此代码可能会转换您想要的内容:两个嵌套的1-N关系
class Company(models.Model):
(...) # No need for a field here
class JobCategory(models.Model):
company = models.ForeignKey(Company, on_delete=models.CASCADE, related_name='categories'))
class Job(models.Model):
category = models.ForeignKey(JobCategory, on_delete=models.CASCADE, related_name='jobs')
您可以利用反向关系:
company = Company.object.get(...)
related_categories = company.categories.all()
for category in related_categories:
jobs = category.jobs.all()
print(jobs)