Python 特定主键django窗体的外键

Python 特定主键django窗体的外键,python,ajax,django,django-forms,Python,Ajax,Django,Django Forms,我有班车、司机和汽车 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')

我有班车、司机和汽车

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,以及通用表单


我需要的形式,当用户选择公司,公司车下拉菜单只包括外键汽车对象为这家公司。我知道object_set特性,这是AJAX可能采用的技巧。但是我不知道它是如何在表单字段上实现的,您可以为ModelChoiceField指定一个查询集。您尚未提交表单,但它可能看起来像这样:

class MyForm(ModelForm):
    def __init__(self, *args, **kwargs):
        self.fields['car'] = ModelChoiceField(
          queryset = Car.objects.filter(company=company)
        )

文档位于此处:

在表单字段上,可以为ModelChoiceField指定查询集。您尚未提交表单,但它可能看起来像这样:

class MyForm(ModelForm):
    def __init__(self, *args, **kwargs):
        self.fields['car'] = ModelChoiceField(
          queryset = Car.objects.filter(company=company)
        )

文档在这里:

你能为我的情况写下这个例子吗?我不清楚我已经编辑了我的答案,但是这个.thx上的文档很清楚,但是我现在和以前的解决方法的问题是我有一个错误:“MyForm”对象没有属性“company”,你能为我的情况写这个例子吗?我不清楚我已经编辑了我的答案,但是这个.thx上的文档很清楚,但是我现在和以前的解决方法的问题是我有一个错误:“MyForm”对象没有属性“company”