2017-02-02 3 views
2

Mein Inline-Formset enthält eine Dropdown-Liste mit verfügbaren Elementen. Ich versuche diese Liste nach Datum zu filtern. Leider hat die queryset I zur Verfügung gestellt nicht die Auswahl einschränken:So filtern Sie die Dropdown-Liste im Inline-Formset

def order(request, date): 
    new_order = get_object_or_404(Order, date=date, user=None) 
    new_items = Order_items.objects.filter(order__date=date, quantity=0) 
    OrderFormset = inlineformset_factory(Order, Order_items, extra=0, fields='__all__') 
    ordering_user = request.user 
    if request.method == 'POST': 
     form = OrderForm(request.POST, instance=new_order) 
     formset = OrderFormset(request.POST, instance=new_order, queryset=Order_items.objects.filter(order__date=date, quantity=0)) 
     [...] 
    else: 
     form = OrderForm(instance=new_order) 
     formset = OrderFormset(instance=new_order, queryset=Order_items.objects.filter(order__date=date, quantity=0)) 
    [...] 

Stattdessen zeigt es jeden Datensatz in der Tabelle Order_items. Was muss ich ändern, damit es funktioniert?

Antwort

0

Ordnung, ist die Lösung eine einfache Abfrage direkt unter den Zeilen hinzugefügt:

for n in formset: 
      n.fields['product'].queryset = Menu.objects.filter(date=date) 
Verwandte Themen