2014-11-23 2 views
0

Как получить имя продукта при выборе поля Ref из формы django.Как заполнять поля, используя формы django.ModelChoiceField

class InvoiceForm(forms.Form): 
    invoice= forms.CharField(widget = forms.TextInput()) 
    Ref= forms.ModelChoiceField(queryset=Producto.objects.all()) 
    Product = forms.CharField(widget = forms.TextInput()) 
+0

Для этого вы должны использовать JavaScript. – ruddra

ответ

0

Если я правильно понять, вы хотите, чтобы название продукта, который будет автоматически заполняется на основе Ref поле. Однако в этом случае вам не требуется отдельное поле. В шаблоне ModelChoiceField отобразит параметры, используя метод Producto класса __str__. Так что, может быть, что-то подобное понравится вашим потребностям.

#models.py 
class Producto(models.Model): 
    name = models.CharField() 
    ... 
    def __str__(self): 
     return self.name 

#forms.py 
class InvoiceForm(forms.Form): 
    invoice= forms.CharField(widget = forms.TextInput()) 
    product= forms.ModelChoiceField(queryset=Producto.objects.all()) 

#views.py 
class MyFormView(views.FormView): 
    def form_valid(self, form): 
     product = form.cleaned_data['product'] 
     # can access any product attributes 
     if product.name == 'bananas': 
      # do_something(form) 

Держите ваши имена полей в нижнем регистре (product не Product), это лучшие практики.

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