首页 > 其他分享 >form里面有的select框需要设置成固定值展示给用户看,但是又不让用户进行变更。

form里面有的select框需要设置成固定值展示给用户看,但是又不让用户进行变更。

时间:2022-10-28 13:12:34浏览次数:40  
标签:customer 固定值 form 用户 order post id select

数据库有一条用户的消费订单,工作人员对这条订单进行修改时,不能修改订单里面的顾客信息,但是前端需要展示给这个订单的顾客信息。

form里面的select框设置固定值

利用Jquery

// 1.先给id=id_order_customer的select框设置值a,这个值是你前面已经定义的变量
$("#id_order_customer").val(a)
// 2.给id=id_order_customer的select框属性设置成不能操作
$("#id_order_customer").attr("disabled","disabled")

这样设置以后,form里面的数据不会post传递给后端,如果后端要用这个数据,需进行处理

后端数据库更新

# 新建一个request.POST的副本,此时这个里面是没有select的数据
transport_post_data = request.POST.copy()
# 拿到请求里面的参数orderid的值,
orderid = int(request.GET.get('orderid'))
# 查询数据库里面该条数据,
row_object = models.Orders.objects.filter(id=orderid).first()
# 由于在前端select框改成不可筛选,form不会把这个数据post传进来,所以这里需要给添加上,要不然修改以后这个值会变成models当时设置的默认值为的null值
# 这条订单里面的顾客设置成这条订单的顾客
transport_post_data["order_customer"] = row_object.order_customer.id
# 对数据库里面的这条数据进行更新保存
form = OrdersForm(data=transport_post_data, instance=row_object)
form.save()

标签:customer,固定值,form,用户,order,post,id,select
From: https://www.cnblogs.com/note-learn-zrp2022/p/16696761.html

相关文章