2012-10-03 113 views
0

为什么它不工作?Django模型:CharField与选择属性

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: “ 的选择是字符串,但默认是整数 你没不提供关于什么“不工作”的含义。“

不工作=模板它不是requierd场

+0

你得到什么错误的空白和零被删除?这可能是因为您在定义之前尝试访问DESCSPECSOFT? – moopet

回答

1
_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) 

注意,因为它默认需要

+0

我应该加上 'from functools import partial' 和其他东西,但是什么?我无法在谷歌finde它在谷歌我有错误 '名称'model_utils'没有定义' – Silwest

+0

好吧,我应该'从functools导入部分 从model_utils导入Choices'然后'_CharField = partial(models.CharField,max_length = 255) DESCSPECSOFT =选项((u'99',' - '),(u'load',u'Load'),(u'script',u'Script'),(u'load_script',u'Load &Script'),)descSpecSoft = _CharField(choices = DESCSPECSOFT,default = DESCSPECSOFT.load)' 感谢您的帮助 – Silwest

1

尝试 forms.ChoiceField() ,而是默认的初始尝试'99' =

,并形成字段默认需要和他们做不接受空或空白,请尝试required = True或required = False

4

对,让我们来看看这里的问题。

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