我正在开始一个新项目,我正在使用Django 1.5.我发现localflavor的东西已经从Django 1.5中删除了,现在是一个单独的可安装包.所以我安装了它.在我的models.py中,我正在导入US localflavors来获取我的状态:
from django_localflavor_us.models import USStateField
Run Code Online (Sandbox Code Playgroud)
在我的模型中,我有这个领域:
state = USStateField(default='VA')
Run Code Online (Sandbox Code Playgroud)
当我尝试使用South运行迁移时,我现在收到以下消息:
!无法冻结字段'playerstats.location.state'!(此字段包含类django_localflavor_us.models.USStateField)
!南方不能反省某些领域; 这可能是因为他们是定制的!领域.如果他们在0.6或以下工作,这是因为我们已经删除了!模型解析器(它经常破坏东西).!要解决此问题,请阅读http://south.aeracode.org/wiki/MyFieldsDontWork
我阅读了维基文章,但我发现它非常冗长和复杂.我的USStateField现在不被认为是1.5中的自定义字段了吗?还有其他人在1.5中遇到过这个问题吗?你是怎么解决的?
我已将现有的django 1.3迁移到django 1.5.一切似乎都好.但是,当我这么做的时候,由于地方的风味,我有一个弃用警告python manage.py runserver
...\env\lib\site-packages\django\contrib\loca lflavor__init__.py:2:DreprecationWarning:不推荐使用django.contrib.localflavor.请改用单独的django-localflavor-*软件包.
warnings.warn("django.contrib.localflavor已弃用.请改用单独的djan go-localflavor-*包.",DeprecationWarning)
我已经阅读了django 1.5发行说明,我知道这个应用程序现已弃用.我的问题是我没有在我的项目中使用localflavor应用程序.
我想另一个应用程序正在以某种方式加载它(可能是localeurl或modeltranslation?)但我不会修复此警告.
我的Django模型:
from localflavor.us.forms import USPhoneNumberField
class Profile(models.Model):
cellPhone = USPhoneNumberField(null=True, blank=True,)
Run Code Online (Sandbox Code Playgroud)
当我执行manage.py syncdb时,这会给我以下错误:
cellPhone = USPhoneNumberField(null=True, blank=True,)
TypeError: __init__() got an unexpected keyword argument 'null'
Run Code Online (Sandbox Code Playgroud)
如果不允许我将此字段声明为null = True,那么如何将此字段设为可选字段,就像我为其他许多字段所做的那样?