django - django 自定义字段接受并存储小数,但将输出作为整数返回
问题描述
我有问题声明,我需要我的字段应该将值存储为十进制,但是在调用它时,该字段应该返回一个四舍五入的整数值
例子
我的模型.myfield = 12.61
mymodel.save()
输入
我的模型.myfield
输出
13
如果可能的话
mymodel.myfield.get_raw
输出
12.61
我可以使用 django 自定义模型字段吗?
class MyField(models.DecimalField):
def __init__(self, verbose_name=None, name=None, max_digits=None,
decimal_places=None, **kwargs):
super(MyField, self).__init__(*args, **kwargs)
def get_raw(self, value):
return value
def to_python(self, value):
if value is None:
return value
try:
return decimal.Decimal(value)
except decimal.InvalidOperation:
raise exceptions.ValidationError(
self.error_messages['invalid'],
code='invalid',
params={'value': value},
)
解决方案
推荐阅读
- python - 是什么导致了这个“TypeError:需要一个类似字节的对象,而不是'str'”错误?
- nginx - 我需要关于设置 Nginx 的建议
- reactjs - react JS属性与属性不同吗?
- node.js - 如何轻松创建参赛表格
- sharepoint - Sharepoint 设计器工作流程:多项选择字段的条件
- git - 奇怪的 git 问题。Git pull 导致文件更改
- three.js - 如何使用 Threejs 编辑器中的 KHR_materials_pbrSpecularGlossiness 导出 GLTF 模型
- reactjs - 如何使用 React Router 在 React 中渲染这个对象?
- android - androidx getFragmentManager() 已被弃用
- css - css中多级导航栏的平滑悬停效果