0

ModelleDjango zur automatischen Vervollständigung Licht queryset Filter

class Reservation(models.Model): 
    company = models.ForeignKey(GuestContact, on_delete=models.PROTECT) 

class GuestContact(models.Model): 
    company = models.CharField(max_lenght=30) 
    last_name = models.CharField(max_lenght=30) 
    first_name = models.CharField(max_lenght=30) 
    contact_genere_id = models.ForeignKey(ContactGenere, on_delete=models.PROTECT) # 1 = company 2 = guest 

Form

class ReservationForm(ModelForm): 

    class Meta: 
     model = Reservation 
     fields = '__all__' 
     widgets = { 
      'company': autocomplete.ModelSelect2() 
    } 

Ansichten

class GuestContactAutocomplete(autocomplete.Select2QuerySetView): 
def get_queryset(self): 

    qs = GuestContact.objects.filter(contact_genere_id=1) 

    return qs 

diese QuerySet Filter in Python-Shell arbeitet, in meinen Ansichten arbeiten dies nicht, dass ich alle Kontakte sehen nicht nur Firmenkontakte. Kannst du mir helfen ?

Antwort

0

Ich denke, dass Sie eine URL müssen Sie sehen: etwas wie folgt aus:

from .views import GuestContactAutocomplete 

urlpatterns = [ 
    url(
     r'^guest-contact-autocomplete/$', 
     GuestContactAutocomplete.as_view(), 
     name='guest-contact-autocomplete' 
    ), 
] 

Um dann in der Form festgelegt, diese URL-Namen das Formularfeld-Widget, wie folgt aus:

class ReservationForm(ModelForm): 

class Meta: 
    model = Reservation 
    fields = '__all__' 
    widgets = { 
     'company': autocomplete.ModelSelect2(url='guest-contact-autocomplete') 
} 
Verwandte Themen