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

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

创新互联是一家专注于成都网站设计、做网站与策划设计,松阳网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:松阳等地区。松阳做网站价格咨询:18980820575

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()

网站栏目:form里面有的select框需要设置成固定值展示给用户看,但是又不让用户进行变更。
文章URL:http://ybzwz.com/article/dsojchh.html