朋友你好我需要帮助,Django的 - on_delete = models.PROTECT不能正常工作
我在蟒蛇新的Django
这一次,我建立我的应用程序,我尝试使用on_delete=models.PROTECT
它工作正常,但我想要替换我的模板ProtectedError
的任何消息。
我该怎么做?
我有这样的事情:
grupos模式
class grupos(models.Model):
nombre_grupo = models.CharField(max_length=100)
nombre_puerto = models.ForeignKey(puerto, on_delete=models.PROTECT)
def __unicode__(self):
return self.nombre_grupo
def __str__(self):
return self.nombre_grupo
正如你可以看到有一个dependecy,在那里,如果我有一个puerto
创建它不会让我删除puerto
这罚款,这是工作,但我得到的模板错误,我想要一个味精而不是。
这里是我的波多黎各删除视图:
波多黎各views.py
def delete(request, id):
# I want the message here..... (such as messages.warning or something)
note = get_object_or_404(puerto, pk=id).delete()
messages.error(request, 'This puerto has been deleted.')
return redirect('/puertot')
例如,我想是这样messages.warning(request, 'You can't delete this because it's being used by grupos')
模板错误:
ProtectedError at /delete/59/ ("Cannot delete some instances of model 'puerto' because they are referenced through a protected foreign key: 'grupos.nombre_puerto'", ]>)
我试图弄清楚如何管理这个,但没有线索......
我该怎么做?
谢谢......!
更新了我的答案。请立即检查并告诉我ProtectedError异常现在是否得到更好的处理? –
是的!按预期工作,谢谢! @PrakharTrivedi – User100696