gpt4 book ai didi

django - 我如何从通用更新 View 中获取我的对象ID以在django 1.1中的表单中使用

转载 作者:行者123 更新时间:2023-12-02 11:43:00 24 4
gpt4 key购买 nike

我正在使用通用 View 来更新对象。

我正在使用表单:

class VehiPrepaClientForm(ModelForm):




class Meta:
model = VehiPrepa
fields = ('date_dem_prepa','carburant','ty_carburant')



def clean(self):
cleaned_data = self.cleaned_data
data = self.cleaned_data['date_dem_prepa']

vehiprepa = get_object_or_404(VehiPrepa,pk=object_id)
if data :

vehiprepa.demande_prepa = 1
vehiprepa.save()
date_in = vehiprepa.date_in
delta = data - date_in
date_dem = date_in + delta
if delta.days < 2 :
raise forms.ValidationError("Veuillez entrez une date au dela du : %s" %(date_dem) )

if data.weekday()>= 5 :

raise forms.ValidationError("La date choisie n'est pas valide, cela tombe un weekend")

#test si date demande sup a date_in et si pas samedi, ni dimanche, et si pas plus 32 vehi ce jour la



return cleaned_data

我正在使用这个通用 View :

def vehiprepa_update (request, vehiprepa_id):

user= request.user

login = user.username
vehiprepa = get_object_or_404(VehiPrepa,pk=vehiprepa_id)

url_template_base = "base_client_washtest.html"


response = create_update.update_object(
request,
form_class = VehiPrepaClientForm,
object_id = vehiprepa_id,
post_save_redirect = "/washtest/vehiprepa_list/0/",
template_name = 'washtest/vehiprepa_update.html',
template_object_name = 'object',
extra_context = {"url_template_base":url_template_base,"login":login,"vehiprepa":vehiprepa},)

return response

但是我有一个错误,因为我的表单上的 object_id 未知......我怎样才能得到我的请求对象ID以在我的表单中干净地使用?

谢谢

编辑:这里错误:

global name 'object_id' is not defined

最佳答案

您的错误来自这一行:

vehiprepa = get_object_or_404(VehiPrepa,pk=object_id)

在您的模型表单中,您没有 object_id

要解决此问题,请参阅 documentation ;其中指出:

Also, a model form instance bound to a model object will contain a self.instance attribute that gives model form methods access to that specific model instance.

从中我们了解到绑定(bind)实例位于self.instance中。因此,在您的模型表单中,您需要

vehiprepa = self.instance

而不是 get_object_or_404 行。

关于django - 我如何从通用更新 View 中获取我的对象ID以在django 1.1中的表单中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9722012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com