1)当我在django管理站点添加新项目时,所有的复选框都设置为true,即使默认设置为false。
2)如果我没有触摸它们中的任何一个并保存项目,当我重新打开它进行编辑时,所有的复选框都被设置为默认的适当值(有些是真的,有些是假的)。
3)如果我取消勾选并重新勾选了一些默认情况下应该为false的内容,则重新打开后将不起任何作用(为false,就像我没有碰过它一样)。
4)如果我取消勾选一些本该为true的值,它的值就会被保存(所以以后它就是false )
5)当我稍后编辑这些值时,它们会完全按照预期保存。没有故障。
你有没有遇到过类似的故障?问题出在哪里?
(在django 1.3.1,python 2.6.6,sqlite3上)
Something1 = models.BooleanField(default='False')
Something2 = models.BooleanField(default='True')
Something3 = models.BooleanField(default='False')
谢谢
发布于 2012-01-15 23:26:59
你应该传递一个布尔值,而不是一个字符串。在您的案例中:
Something1 = models.BooleanField(default=False)
Something2 = models.BooleanField(default=True)
Something3 = models.BooleanField(default=False)
发布于 2012-01-16 00:49:17
对于BooleanField
,Django需要的是布尔值,而不是字符串!字符串将被计算为True
的布尔值,您可以在python控制台中轻松验证:
>>> bool('True')
True
>>> bool('False')
True
所以你必须使用像Something1 = models.BooleanField(default=False)
这样的东西。
https://stackoverflow.com/questions/8870409
复制相似问题