Как сделать автозаполнение полей джангоформы, при выборе одного из компонентов выпадающего списка строка которая это ModelChoiceField, заполнить однотипные строки? которые в МОДЕЛИ уже есть?
Пример:
У меня есть модель Товары в которую с этой формы записывается НОВЫЙ ТОВАР.
При выборе ИЗ выпадающего списка
parent = forms.ModelChoiceField(queryset=Good.objects.filter(is_complect=is_complect), label=u'Выбор комплекта',required=False
фильтруются только КОМПЛЕКТЫ.
Как заполнить привязаны в этой модели существующие ОДИНАКОВЫЕ поля?
class FormSite(forms.Form): name = forms.CharField(max_length=250, label=u'Наименование') artikul = forms.CharField( max_length=15, label=u'Артикуль') good_type = forms.ModelChoiceField(queryset=GoodType.objects.all(), label=u'Тип товара') is_complect = forms.BooleanField(label=u'Комплект', required=False, help_text=u'Выберите, если это комплект') parent = forms.ModelChoiceField(queryset=Good.objects.filter(is_complect=is_complect), label=u'Выбор комплекта',required=False) brand = forms.ModelChoiceField(queryset=Brand.objects.all(), label=u'Бренд') description = forms.CharField(max_length=200, label=u'Описание') #default_picture = forms.ImageField(label=u'Изображение', required=False) price = forms.IntegerField(label=u'Цена') agreement = forms.ModelChoiceField(label=u'Точка продажи', queryset=Agreement.objects.all()) shape = forms.ModelChoiceField(label=u'Форм фактор', queryset=ShapeGood.objects.all()) width = forms.IntegerField(label=u'Ширина') height = forms.IntegerField(label=u'Высота') depth = forms.IntegerField(label=u'Глубина') weight = forms.IntegerField(label=u'Вес изделия') appointment = forms.ModelChoiceField(label=u'Размещение', queryset=Appointment.objects.all())
class Good(models.Model): name = NAME_FIELD artikul = models.CharField(default='', max_length=15) good_type = models.ForeignKey(GoodType) is_complect = models.BooleanField(default=False) parent = models.ForeignKey('self', blank=True, null=True, default=None) brand = models.ForeignKey(Brand) description = models.TextField(default='') default_picture = models.CharField(default='', max_length=200) price = models.BigIntegerField(default=0) old_price = models.BigIntegerField(default=0) is_stock = models.BooleanField(default=False) agreement = models.ForeignKey(Agreement, blank=True, null=True) shape = models.ForeignKey(ShapeGood, blank=True, null=True) width = models.IntegerField(default=0) height = models.IntegerField(default=0) depth = models.IntegerField(default=0) weight = models.IntegerField(default=0) appointment = models.ForeignKey(Appointment, blank=True, null=True) brandcountry = models.TextField(default='') brandcity = models.TextField(default='') def __unicode__(self): return self.name