python - 在 django 模型中保存之前的数据处理
问题描述
我想在 Django 模型中创建一个自动化站点,作为一个自动化的如果用户输入单位和数量也不好输入,我想你明白我的意思。我的模型看起来像这个 model.py:
unit_price = models.FloatField(max_length=24)
quantity = models.FloatField(max_length=24)
total_price = models.FloatField(max_length=24)
视图.py:
posted = dataForm(request.POST)
if posted.is_valid():
posted.save()
我想要的是用户输入quantity
并且unit_price
只有和
total_price = quantity * unit_price
那么我该怎么做呢?
解决方案
AModelForm
包装.instance
将被保存的,因此您可以操作该.instance
对象:
posted = dataForm(request.POST)
if posted.is_valid():
item = posted.instance
item.total_price = item.quantity * item.unit_price
posted.save()
话虽这么说,如果total_price
始终是quantity
time toe unit_price
,则无需将其保存在模型中,您可以在需要时进行计算,或者使用.annotate(…)
[Django-doc]在数据库端进行计算。
推荐阅读
- c# - 我的代码在 dataGridView1.Rows.Clear() 之后直到结束都不起作用
- python - 如何在 Discord.py 中添加消息并对该消息添加反应
- c++ - 如果子类具有与父类相同的参数,子类是否应该覆盖构造函数?
- python - 在运行 ubuntu 的 mac(host) 上使用 docker 构建 tensorflow 时出现 GCC 编译错误
- css - 如何在css中更改特定网站的背景颜色?
- apache - 如何修复 Apache 2.4 启动时要求此处不允许
- service - 如何在 solaris 11 崩溃后自动重启服务?
- python - 覆盖 get_queryset 方法后,Django 管理列表页面需要永远加载
- java - 如何将 java 类类型转换为其基类型?
- python - 无法在 python kivy 音频中打开混音器