首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >添加新项目时,默认值=‘False’不会反映在django管理BooleanField中

添加新项目时,默认值=‘False’不会反映在django管理BooleanField中
EN

Stack Overflow用户
提问于 2012-01-15 22:27:49
回答 2查看 12.5K关注 0票数 2

1)当我在django管理站点添加新项目时,所有的复选框都设置为true,即使默认设置为false。

2)如果我没有触摸它们中的任何一个并保存项目,当我重新打开它进行编辑时,所有的复选框都被设置为默认的适当值(有些是真的,有些是假的)。

3)如果我取消勾选并重新勾选了一些默认情况下应该为false的内容,则重新打开后将不起任何作用(为false,就像我没有碰过它一样)。

4)如果我取消勾选一些本该为true的值,它的值就会被保存(所以以后它就是false )

5)当我稍后编辑这些值时,它们会完全按照预期保存。没有故障。

你有没有遇到过类似的故障?问题出在哪里?

(在django 1.3.1,python 2.6.6,sqlite3上)

代码语言:javascript
运行
复制
Something1 = models.BooleanField(default='False')
Something2 = models.BooleanField(default='True')
Something3 = models.BooleanField(default='False')

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-15 23:26:59

你应该传递一个布尔值,而不是一个字符串。在您的案例中:

代码语言:javascript
运行
复制
Something1 = models.BooleanField(default=False)
Something2 = models.BooleanField(default=True)
Something3 = models.BooleanField(default=False)
票数 17
EN

Stack Overflow用户

发布于 2012-01-16 00:49:17

对于BooleanField,Django需要的是布尔值,而不是字符串!字符串将被计算为True的布尔值,您可以在python控制台中轻松验证:

代码语言:javascript
运行
复制
>>> bool('True')
True
>>> bool('False')
True

所以你必须使用像Something1 = models.BooleanField(default=False)这样的东西。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8870409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档