2015-04-05 5 views
1

Я использую Django 1.7 и только что установил localflavor 1.1. Теперь, создавая пользователя по умолчанию, я хочу использовать поле USStateSelect(). При создании медсестры, которая расширяет пользователя по умолчанию, я получаю всевозможные ошибки. Вот мой текущий код:Django 1.7, localflavor 1.1 USStateSelect()

models.py:

from localflavor.us.forms import USStateSelect 

class MyUser(AbstractBaseUser): 
    #Address 
    house_number = models.IntegerField(default = 0) 
    street = models.CharField(max_length = 30, default = "") 
    city = models.CharField(max_length = 20, default = "") 
    state = USStateSelect() 
    zip_Code = models.IntegerField(default = 0) 

class Nurse(MyUser): 
    #Other fields 

forms.py:

class NurseCreationForm(ModelForm): 
password1 = forms.CharField(label='Password', widget=forms.PasswordInput) 
password2 = forms.CharField(label='Password confirmation', widget=forms.PasswordInput) 

class Meta: 
    model = Nurse 
    fields = ('email', 'first_name', 'last_name', 'department','state',) 

ошибка:

File "C:\Python34\lib\site-packages\django\forms\models.py", line 294, in 
__new__raise FieldError(message) 
django.core.exceptions.FieldError: Unknown field(s) (state) specified for 
Nurse 

Я не смог найти действительное решение для Django 1.7 в любом месте онлайн. Заранее спасибо за помощь!

ответ

1

Ваша проблема в том, что вы пытаетесь использовать поле формы USStateSelect в своих моделях. Вместо этого вы должны использовать поле модели USStateField. Попробуйте следующее:

из localflavor.us.models импорта USStateField

class MyUser(AbstractBaseUser): 
    #Address 
    house_number = models.IntegerField(default = 0) 
    street = models.CharField(max_length = 30, default = "") 
    city = models.CharField(max_length = 20, default = "") 
    state = USStateField() 
    zip_Code = models.IntegerField(default = 0) 

Вы должны создать миграцию и запустить его после обновления моделей.

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