【问题标题】:Why can't I set my Django Model's USPhoneNumberField to null=True, blank=True?为什么我不能将我的 Django 模型的 USPhoneNumberField 设置为 null=True,blank=True?
【发布时间】:2014-09-23 23:13:18
【问题描述】:

我的 Django 模型:

from localflavor.us.forms import USPhoneNumberField

class Profile(models.Model):
    cellPhone = USPhoneNumberField(null=True, blank=True,)

当我执行 manage.py syncdb 时,这给了我以下错误:

cellPhone = USPhoneNumberField(null=True, blank=True,)
TypeError: __init__() got an unexpected keyword argument 'null'

如果它不允许我将它声明为 null=True 就像我对许多其他字段所做的那样,我该如何使此字段成为可选?

【问题讨论】:

标签: python django django-localflavor


【解决方案1】:

USPhoneNumberFieldform 类型,而不是模型类型

用法(通常)是:

class Profile(models.Model):
    cellPhone = models.CharField(max_length=20, null=True, blank=True,)

和forms.py

class ProfileForm(forms.Form): #or forms.ModelForm
    cellPhone = forms.USPhoneNumberField(...)

这里是documentation

class localflavor.us.models.PhoneNumberField(*args, **kwargs) 一个 CharField,用于检查该值是否为有效的美国式电话号码(格式为 XXX-XXX-XXXX)。

【讨论】:

    猜你喜欢
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 2011-09-06
    • 2023-03-12
    • 1970-01-01
    • 2015-07-09
    相关资源
    最近更新 更多