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)

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

Другие вопросы по тегам