Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法编辑django表_Python_Django_Django Forms - Fatal编程技术网

Python 无法编辑django表

Python 无法编辑django表,python,django,django-forms,Python,Django,Django Forms,无法执行更新操作 此函数用于表更新,但代码不允许我在表单中传递实例,因为它不是模型表单。请提出修改建议 类userForm(forms.Form): 要使用表单字段(而不是模型表单)绑定数据,必须将包含这些特定字段的字典传递给表单构造函数。 在这种情况下,您需要做的是 在字典中获取表单数据 driver = Driver.objects.get(employee_id = employee_id) form_data = {'employee_id':driver.employee_id, 'e

无法执行更新操作

此函数用于表更新,但代码不允许我在表单中传递实例,因为它不是模型表单。请提出修改建议

类userForm(forms.Form):


要使用表单字段(而不是模型表单)绑定数据,必须将包含这些特定字段的字典传递给表单构造函数。 在这种情况下,您需要做的是 在字典中获取表单数据

driver = Driver.objects.get(employee_id = employee_id)
form_data = {'employee_id':driver.employee_id, 'employer_id', driver.employer_id, .., .., .} #all the fields in the form
AddDriverForm(initial=form_data)
然后,在保存数据时,您应该使用与创建驱动程序相同的方法

此外,我个人建议您在这个案例中使用模型形式,因为您将把数据放在模型中,这肯定会为您节省麻烦。
此外,如果没有什么大问题,你可以考虑对模型进行规范化。

< P>将数据绑定到表单字段(而不是模型表单),你必须把一个字典和那些特定的字段传递给表单构造函数。 在这种情况下,您需要做的是 在字典中获取表单数据

driver = Driver.objects.get(employee_id = employee_id)
form_data = {'employee_id':driver.employee_id, 'employer_id', driver.employer_id, .., .., .} #all the fields in the form
AddDriverForm(initial=form_data)
然后,在保存数据时,您应该使用与创建驱动程序相同的方法

此外,我个人建议您在这个案例中使用模型形式,因为您将把数据放在模型中,这肯定会为您节省麻烦。
此外,如果你的模型没什么大不了的,你可以考虑对它进行规范化。

让我们假设你的<强>模型(DC)有一个实例(一个条目):

超级英雄=布鲁斯,巴特勒=阿尔弗雷德,工程师=卢修斯,汽车=蝙蝠车

您的表单已 超级英雄、管家、工程师

(请注意,我的表单缺少car字段)

现在,假设你想把巴特勒的名字改成贾维斯


这将在显示表单时正确呈现数据。

假设您的模型(DC)有一个实例(一个条目):

超级英雄=布鲁斯,巴特勒=阿尔弗雷德,工程师=卢修斯,汽车=蝙蝠车

您的表单已 超级英雄、管家、工程师

(请注意,我的表单缺少car字段)

现在,假设你想把巴特勒的名字改成贾维斯


这将在显示表单时正确呈现数据。

您可以显示您的模型和视图吗?是的,确定,添加了模型您可以显示您的模型和视图吗?是的,确定,添加了模型我想使用相同的URL添加表单数据和编辑表单,同时编辑数据。您建议的更改给出了错误“分配前引用的局部变量'employee_id'。使用相同的url不是问题,ModelForms也可以这样做。关于这个错误,我不能不看看你做了什么改变就告诉你。因为employee_id是驱动程序表单实例中的一个字段,这是我访问它的唯一地方。在字典中添加时,是否确保在其周围有倒逗号?现在不存在错误,但其呈现形式仍然为空。你能详细说明一下你的解决方案吗?我试着用一个通用的例子来解释,如果这对你有帮助的话,试试看。如果没有,请确切地问我您有什么困难。我已经添加了一个完整的函数,在其中我放置了逻辑(views.py)。你能检查一下吗?我想使用相同的URL来添加表单数据,并在编辑表单时编辑表单,它应该与数据一起提供。您建议的更改给出了错误“分配前引用的局部变量'employee_id'。使用相同的url不是问题,ModelForms也可以这样做。关于这个错误,我不能不看看你做了什么改变就告诉你。因为employee_id是驱动程序表单实例中的一个字段,这是我访问它的唯一地方。在字典中添加时,是否确保在其周围有倒逗号?现在不存在错误,但其呈现形式仍然为空。你能详细说明一下你的解决方案吗?我试着用一个通用的例子来解释,如果这对你有帮助的话,试试看。如果没有,请确切地问我您有什么困难。我已经添加了一个完整的函数,在其中我放置了逻辑(views.py)。你能查一下吗??
instance = DC.objects.get(id=8) #lets consider this as the id of the instance we have 
#what you need to do is save the required data in a dictionary in this case
form_data = {'Superhero':instance.Superhero, 'Butler':instance.Butler, 'Engineer': instance.Engineer } #we haven't passed the car field
#Also I think that passing extra fields must not be an issue but I haven't tried
UpdateForm(form_data)