我有以下观点:
def unit_edit(request,pk):
post = Unit.objects.get(pk=pk)
if request.method == "POST":
vehicle_group = request.POST.get('vehicle_group'),
unit_name = request.POST.get('unit_name'),
start_hm = request.POST.get('start_hm'),
operation_date = request.POST.get('operation_date'),
coremoduleid = request.POST.get('coremoduleid'),
mqmoduleid = request.POST.get('mqmoduleid'),
radiomoduleid = request.POST.get('radiomoduleid'),
post.save()
t = loader.get_template('unit_edit.html')
c = RequestContext(request, {'unit': post})
return HttpResponse(t.render(c))
问题:
当我尝试编辑给定对象(数据)时,我无法获取要编辑的数据。
答案 0 :(得分:0)
您实际上并未编辑从数据库中获取的对象。您的代码当前设置了许多变量而不是对象属性。您需要使用post
对象为变量添加前缀。
通过执行post.variable_name = <value>
,您正在修改对象属性值。
通过执行variable_name = <value>
,您正在为函数变量创建并设置值。
def unit_edit(request,pk):
post = Unit.objects.get(pk=pk)
if request.method == "POST":
post.vehicle_group = request.POST.get('vehicle_group'),
post.unit_name = request.POST.get('unit_name'),
post.start_hm = request.POST.get('start_hm'),
post.operation_date = request.POST.get('operation_date'),
post.coremoduleid = request.POST.get('coremoduleid'),
post.mqmoduleid = request.POST.get('mqmoduleid'),
post.radiomoduleid = request.POST.get('radiomoduleid'),
post.save()