2016-08-26 5 views
1

У меня есть класс компании, водителем и автомобилемвнешние ключи для конкретного первичного ключа Джанго формы

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 состоит только из объектов Foreign Keys для этой компании. Я знаю об объектной функции и трюк с AJAX. Но я не знаю, как это реализовать

ответ

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

+0

Не могли бы вы написать этот пример для моей ситуации? Я точно не понимаю –

+0

Я отредактировал свой ответ, но документация понятна. –

+0

thx, но моя проблема теперь и предыдущие варианты решения заключается в том, что у меня есть ошибка: объект «MyForm» не имеет атрибута «компания», –

Смежные вопросы