Фильтрация модели по внешнему ключу - PullRequest
0 голосов
/ 02 октября 2018

Хорошо, я вытаскиваю свои волосы (и у меня их немного), я создал FormView, который использует 2 модели.Одна модель просто отображает некоторую информацию из таблицы (не редактируется), а другая модель - это форма, в которой пользователь выбирает два элемента из выпадающего списка.Мне нужно отфильтровать первый выпадающий список.Ниже приведен код, который я не использую:

views.py

def assign_load(request):
    form = DispatchForm(request.POST or None)
    loads = Load.objects.all().filter(active=True, dispatched=False, 
                                  picked_up=False, delivered=False,
                                  billed=False, 
                                  paid=False).order_by('start_pickup_date')
    context_dict = {'dispatch' : form, 'load' : loads}
    if form.is_valid():
        save_it = form.save()
        save_it.save()
        new_dispatch = Dispatch.objects.get(id=save_it.id)
        fix_load = Load.objects.get(id=new_dispatch.load_number_id)
        fix_load.dispatched = True
        fix_load.save()
        return HttpResponseRedirect('/dispatch/dispatch/')

    return render(request, 'dispatch/dispatch_form.html', context_dict)

forms.py

class DispatchForm(ModelForm):
    class Meta:
        model = Dispatch
        fields = ['load_number', 'truck', 'start_mileage', 'end_mileage', 
              'pickup_date',
              'pickup_time', 'delivery_date', 'delivery_time', 'driver_pay', 
              'fuel_cost', 'miles',
              'status']

        def get_queryset(self):
            return self.model.objects.filter(load_number__dispatched=False)

Я пытаюсь отфильтровать модель вforms.py Я пытался использовать def get (), def get_queryset () и def get_context_data, ни один из них не возвращает отфильтрованный набор запросов ... Я знаю, что мне не хватает чего-то простого, но у меня заканчиваются идеи, любая помощь будет отличной... если вам нужна дополнительная информация, дайте мне знать об этом.

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...