【问题标题】:Django increasing value in database on updateDjango 在更新时增加数据库中的价值
【发布时间】:2020-03-11 11:35:36
【问题描述】:

我有库存表,其中 Qty 列,我想使用表单添加 Qty 以将新值与数据库中已经存在的值相加

views.py 中基于类的视图如下所示:

class ItemUpdateView(LoginRequiredMixin, UpdateView):
model = Stock
template_name = 'users/item_update_form.html'
fields = ['qty']

现在我得到这个输出:

页面视图的屏幕截图

我希望有空的数量字段来输入新值,然后按添加数据库中已经存在的增加值和这个新值

【问题讨论】:

  • 然后使用另一个具有不同字段的Form,而不是qty。保存表单时,使用F 表达式更改模型上qty 的值。

标签: django django-models django-forms django-views django-templates


【解决方案1】:

您可以在要保存的表达式中添加在数据库级别存储的字段用于数量:

from django.db.models import F

class ItemUpdateView(LoginRequiredMixin, UpdateView):
    model = Stock
    template_name = 'users/item_update_form.html'
    fields = ['qty']

    def form_valid(self, form):
        form.instance.qty += F('qty')
        return super().form_valid(form)

【讨论】:

  • Willem,谢谢,这就是海峡,还有一个问题。是否有机会在前端表单中获得 Qty 空字段,现在总是显示数据库中的内容,然后需要删除该值然后输入新的,(顺便说一句,增加效果很好)
猜你喜欢
  • 2014-06-30
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 2021-05-09
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多