我正在尝试获取相关模型的ID。我已经尝试了几种方法,但无法弄清楚。下面是我正在使用的代码。
def assign_load(request):
form = DispatchForm(request.POST or None)
loads = Load.objects.all().filter(active=True, dispatched=False, picked_up=False, delivered=False,
billed=False, paid=False)
context_dict = {'dispatch' : form, 'load' : loads}
if form.is_valid():
save_it = form.save()
save_it.save()
new_dispatch = Dispatch.objects.all().filter(id=save_it.id)
print(new_dispatch.model.load_number.pk)
return HttpResponseRedirect('/dispatch/dispatch/')
return render(request, 'dispatch/dispatch_form.html', context_dict)
new_dispatch是新创建的记录,该记录与称为Loads的模型具有一对多关系。当我尝试仅打印new_dispatch.model.load_number时,我需要获取load_number PK,然后返回以下内容。
<django.db.models.fields.related_descriptors.ForwardManyToOneDescriptor object at 0x0000029016E34710>
但是我需要的是该记录的ID,以便我可以更新一些字段。
非常感谢您的帮助,我是Django世界的新手,正努力弄清这些东西。
答案 0 :(得分:0)
使用Dispatch.objects.get(id=save_it.id)
代替Dispatch.objects.all().filter(id=save_it.id)