我有个问题想知道你能不能帮我。在
我有一个table
,我展示了三个不同的模型,这是正常的。在
我的问题是当我想删除该记录时,正如你所知道的,我必须指定我选择哪个模型,以便删除它。我以前用三个不同的tables
为每个模型创建一个表,但是现在当我为三个模型创建一个表时,我不知道如何做。在
我一直在尝试不同的方法,但都没用。在
我得到的是:
在视图.py在
def eliminar_activos(request, id):
opc = activo_opc.objects.get(id=id) #first model
odbc = activo_odbc.objects.get(id=id) #second model
eip = activo_eip.objects.get(id=id)# third model
delete = chain(opc,odbc ,eip )
delete.delete()
messages.success(request, "Success!")
return redirect('activo')
在网址.py在
^{pr2}$模板:
<td><a href="{% url 'eliminar_activos' item.id %}"> Eliminar </a> </td>
注:
只适用于第一个模型,不适用于其他模型。在
如果我试着用另外两种型号,我会发现这个错误:
activo_opc matching query does not exist.
有没有一种不需要三张桌子就可以做到的方法? 谢谢!
奇怪的是,你从3个不同的模型中移除了基于同一个给定id的行,这是有意的吗?在
你应该把你的三个模型联系起来。 对其他模特来说可能是一个单独的场地。在
检查这个:https://docs.djangoproject.com/en/1.10/topics/db/examples/one_to_one/
然后,您可以配置oneToOneField,这样当您删除行时,它也会删除关系的其他对象:
相关问题 更多 >
编程相关推荐