Django型号-基于另一外键设置的外键
我有三种型号,结构如下:Django型号-基于另一外键设置的外键,django,django-models,Django,Django Models,我有三种型号,结构如下: class Company(models.Model): company_id = models.AutoField(primary_key=True) company_name = models.CharField(max_length=80, unique=True) company_address = models.CharField(max_length=80, unique=True) class Department(models
class Company(models.Model):
company_id = models.AutoField(primary_key=True)
company_name = models.CharField(max_length=80, unique=True)
company_address = models.CharField(max_length=80, unique=True)
class Department(models.Model):
department_id = models.AutoField(primary_key=True)
company = models.ForeignKey(Company, on_delete=models.RESTRICT)
department_name = models.CharField(max_length=80, unique=True)
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
image = models.ImageField(default='profile_pics/default.jpg', upload_to='profile_pics')
company = models.ForeignKey(Company, on_delete=models.RESTRICT)
department = models.ForeignKey(Department, on_delete=models.RESTRICT)
role = models.CharField(max_length=80)
我想做的是根据Profile.company中仅分配的内容限制Profile.department的下拉选项,基于部门:
| department_id | company | department_name |
---------------------------------------------------
| 1 | comp_A | Human Resources |
| 2 | comp_A | Accounting |
| 3 | comp_A | Legal |
| 4 | comp_B | Human Resources |
| 5 | comp_B | Accounting |
| 6 | comp_B | Legal |
| 7 | comp_B | IT |
这样,只有当用户在公司工作时,才可以选择IT部门
提前谢谢你