django-localflavor字段没有出现在Django管理模型中?

时间:2016-07-15 17:33:42

标签: django django-models django-localflavor

我正在尝试将django-localflavors实现到我的Django应用程序中。

我导入USStateSelect& USZipCodeField在我的models.py的开头,然后将它们作为一个字段包含在我的模型中以及其他字段中,如下所示:

from localflavor.us.forms import USStateSelect, USZipCodeField
...
Class MyModel(models.Model):
... 
     state = USStateSelect()
     zip_5 = USZipCodeField()

但是,当我去Django admin并尝试创建一个新的Model对象时,我会看到我写的每个其他字段(CharFields等),除了任何localflavor字段。它们根本不作为我的Model对象表单中的输入字段显示出来。我已经在我的数据库上进行了迁移,所以这不是问题。

我是否误解了如何使用django-localflavor?我在一篇不同帖子的回答中读到,localflavor实际上并没有创建输入字段,只存储数据......但是我还读到它可以让你输入数据。此时我很困惑。任何帮助,将不胜感激!

2 个答案:

答案 0 :(得分:0)

我认为你要找的是model fields。在构建自己的表单时(通常在管理员之外,例如联系表单),使用表单字段。 Localflavor有几个字段可以满足您的需求。请注意,这些基本上是1+"Q"+2:xyz 1+"aQfb"+2:xyz s,需要进行一些额外的验证,以确保遵循所需的格式。

答案 1 :(得分:0)

您需要指定选项选项。

如下所示更改您的代码:

from localflavor.us.forms import USStateSelect, USZipCodeField
...
Class MyModel(models.Model):
... 
     state = USStateSelect(choices=STATE_CHOICES) # add choices
     zip_5 = USZipCodeField() # no change on this line