Mar*_*cin 3 python django django-models django-orm
我在模型上有一个如下所示的IntegerField:
amount = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
访问它时,它有时会返回一个字符串.造成这种情况的最直接原因是它已经为其分配了一个字符串.到目前为止,如此愚蠢.它甚至在保存后也会返回一个字符串.
这让我感到有些惊讶:如果IntegerField在赋值时将其值强制转换为整数(或者,最迟在保存时),那将是很好的,因此用户可以依赖它作为整数.
(我的应用程序使用sqlite.)
有没有办法让IntegerField只返回整数?或者我是否必须创建自定义字段才能执行此操作?
小智 9
正如我的评论中所提到的,发生这种情况的原因是Django在保存时对字段执行相关强制,但不反映原始模型上的值更改,因为如果不再次查询数据库就无法完成.
对于这类问题,最快的解决方法(也是最简单的)是查找字符串的来源并将其转换为int - 对我而言,这表明在验证中早先出现了一些错误,应该选择这个问题. .
| 归档时间: |
|
| 查看次数: |
2699 次 |
| 最近记录: |