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)
Вам нужно будет создать миграцию и запустить ее после обновления моделей.