2016-04-25 3 views
0

Я пытаюсь добавить динамический раскрывающийся список в свою регистрационную форму для учетной записи Django.Динамический раскрывающийся список в формах Django

forms.py:

class CompanySignupForm(account.forms.SignupForm): 
    first_name = forms.CharField(
     label="First Name", 
     max_length=30, 
     widget=forms.TextInput(), 
     required=True) 

    last_name = forms.CharField(
     label="Last Name", 
     max_length=30, 
     widget=forms.TextInput(), 
     required=True) 

    company = forms.CharField(
     label="Company Name", 
     max_length=60, 
     widget=forms.TextInput(), 
     required=True) 

models.py:

class EmployerProfile(models.Model): 
    user = models.OneToOneField(settings.AUTH_USER_MODEL) 

    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30) 
    company = models.CharField(max_length=40) 

    def __unicode__(self): 
     return self.company 

Вопрос заключается в том, если я хочу, чтобы поле "компания" будет выпадающий список, состоящий из около 10 000 записей , каков наилучший способ приблизиться к этому? Должен ли я использовать данные JS и JSON? jQuery для автозаполнения? Я просто хочу сделать это самым эффективным способом.

ответ

1

Вы действительно хотите выпадающее меню с 10 000 записей? Является ли это так, в forms.py:

class CompanySignupForm(forms.ModelForm): 
    company = forms.ChoiceField(choices=["10,000", "entries", "here"]) 

https://docs.djangoproject.com/es/1.9/ref/forms/fields/#choicefield

Но я хотел бы выбрать для поля автозаполнения, используя http://django-autocomplete-light.readthedocs.org/en/master/

Смежные вопросы