10

我正在开始一个新项目,我正在使用 Django 1.5。我发现本地风味的东西已从 Django 1.5 中删除,现在是一个单独的可安装包。所以我安装了它。在我的 models.py 中,我正在导入美国本地风味以获取我的州:

from django_localflavor_us.models import USStateField

在我的模型中,我有这个字段:

state = USStateField(default='VA')

当我尝试使用 South 运行迁移时,我现在收到以下消息:

!无法冻结字段“playerstats.location.state”!(这个字段有类 django_localflavor_us.models.USStateField)

!南方不能自省一些领域;这可能是因为它们是定制的!字段。如果它们在 0.6 或更低版本中工作,这是因为我们删除了 ! 模型解析器(它经常破坏东西)。!要解决此问题,请阅读http://south.aeracode.org/wiki/MyFieldsDontWork

我通读了 wiki 文章,但我发现它非常冗长和复杂。我的 USStateField 现在在 1.5 中不被视为自定义字段吗?有没有其他人在 1.5 中遇到过这个问题?你是怎么解决的?

4

3 回答 3

12

从 django-localflavor 版本 1.0 开始,只需将“localflavor”添加到您INSTALLED_APPS的文件中即可让 South 正确选择它。 https://django-localflavor.readthedocs.org/en/latest/?highlight=south#installation

于 2013-12-27T12:38:46.037 回答
8

您是否尝试过添加自省规则?

add_introspection_rules([], ["^django_localflavor_us\.models\.USStateField"])
于 2013-03-11T13:24:51.850 回答
2

我不得不调整 Hedde van der Heide 的解决方案才能让我的工作。它看起来像这样:

add_introspection_rules([], ["^localflavor\.us\.models\.USStateField"])

于 2013-12-11T22:32:02.753 回答