我有班级公司,司机和汽车
class Company(models.Model):
title = models.CharField(max_length=256)
...
Class Car(models.Model):
...
company = ForeignKey('Company')
class Driver(models.Model):
...
company = ForeignKey('Company')
company_car = OneToOneField('Car')
我还有GenericView用于创建和更新驱动程序,以及通用表单。
我需要表单,当用户选择公司时,company_car下拉列表仅包含该公司的外键汽车对象。我知道object_set功能和AJAX可能的技巧。但我不知道它是如何实现的
答案 0 :(得分:0)
在表单字段上,您可以为ModelChoiceField指定查询集。你没有给出你的表格,但它看起来像这样:
class MyForm(ModelForm):
def __init__(self, *args, **kwargs):
self.fields['car'] = ModelChoiceField(
queryset = Car.objects.filter(company=company)
)
文档在这里:https://docs.djangoproject.com/en/dev/ref/forms/fields/#modelchoicefield