【问题标题】:Django 1.7, localflavor 1.1 USStateSelect()Django 1.7,本地风味 1.1 USStateSelect()
【发布时间】:2015-06-10 08:35:36
【问题描述】:

我正在使用 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 的有效解决方案。提前感谢您的帮助!

【问题讨论】:

    标签: django django-models django-forms django-localflavor


    【解决方案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)
    

    您必须在更新模型后创建迁移并运行它。

    【讨论】:

      猜你喜欢
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      相关资源
      最近更新 更多