Как работать с внешним ключом в шаблоне и формах django? - PullRequest
0 голосов
/ 14 мая 2019

У меня есть специальная форма, представляющая собой список данных, но проблема в том, что она работает очень медленно, поэтому есть что-то вроде django autocomplete_fields для форм?

моя форма:

class TripSearchForm(forms.Form):
    departure = forms.ModelChoiceField(queryset=Place.objects.places_for_segment())
    destination = forms.ModelChoiceField(queryset=Place.objects.places_for_segment())
 def places_for_segment(self):
        return Place.objects.filter(Q(role=Place.CITY) | Q(role=Place.VILLAGE) | Q(role=Place.TOWN))

1 Ответ

0 голосов
/ 14 мая 2019

В качестве первого подхода вы можете попробовать с помощью select_related предварительно выбрать внешние ключи

def places_for_segment(self):
    return Place.objects.filter(
        Q(role=Place.CITY) \
        | Q(role=Place.VILLAGE) \
        | Q(role=Place.TOWN)
     ).select_related('name_of_the_foreign_key', 'another_foreign_key')
...