2017-10-31 1 views
0

ich das Lieferantenfeld aus einer ausgewählten Drop-Down-Box, da ich es will, so verhalten, aber es erzeugt einen Fehler: Enter a list of valuesDjango - Geben Sie eine Liste von Werten - ManyToManyField

mein Modell

class Product(models.Model): 
    name = models.Charfield(max_length=250) 
    supplier = models.ManytoManyField(Supplier) 

meine Form:

class ProductForm(forms.ModelForm): 

    class Meta: 
     model = Product 
     fields = ['name', 'supplier'] 
    widgets = { 
     'supplier': forms.Select() 
    } 

def clean_supplier(self): 
    return [self.cleaned_data['supplier']]] 

er den Fehler zeigt: Geben Sie eine Liste von Werten

+0

ManyToManyField ist für mehrere Werte nicht ein einziger ausgewählt wird. –

+0

In Django gibt es kein * ManytoManyField *. Dein Code sollte einen Fehler verursachen. Sie können jedoch versuchen, * Viele ** T ** oManyField *. – cezar

Antwort

0

Dropdown unterstützt keine Mehrfachauswahl. Verwenden Sie CheckboxSelectMultiple.

class ProductForm(forms.ModelForm):

class Meta: 
    model = Product 
    fields = ['name', 'supplier'] 
widgets = { 
    'supplier': forms.CheckboxSelectMultiple() 
} 

def clean_supplier (self): return [self.cleaned_data [ 'Lieferant']]]

Verwandte Themen