繁体   English   中英

Django模型:具有Choices属性的CharField

[英]Django-models: CharField with Choices atribute

为什么它不起作用?

DESCSPECSOFT = (
    (u'99','-'),
    (u'Load',u'Load'),
    (u'Script',u'Script'),
    (u'Load & Script',u'Load & Script'),
    )   
descSpecSoft = models.CharField(choices=DESCSPECSOFT, default=99,blank = False,null = False)

谢谢

编辑:

用表格代替模型是我的错误

EDIT2:“选项是字符串,但默认值是整数。您没有提供有关“不起作用”的含义的任何信息。”

不起作用=模板中不需要的字段

是的,让我们在这里算一下问题。

  1. 您使用了不存在的forms.CharField
  2. 即使确实存在,这也是一个模型,因此您应该使用模型字段而不是表单字段。
  3. 在定义它之前,您已经使用了DESCSPECSOFT
  4. 选项为字符串,但默认值为整数。
  5. 您没有提供有关“无效”含义的任何信息。

尝试Forms.ChoiceField(),而不是默认值,请尝试使用initial = '99'

并且表单字段默认为必填字段,并且不接受null或空白,请尝试required = True或required = False

_CharField = partial(models.CharField, max_length=255)

DESCSPECSOFT = model_utils.Choices(
    (u'99','-'),
    (u'load',u'Load'),
    (u'script',u'Script'),
    (u'load_script',u'Load & Script'),
)
descSpecSoft = _CharField(choices=DESCSPECSOFT, default=DESCSPECSOFT.load)

请注意,空格和null被删除,因为默认情况下是必需的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM