如果不允许删除对象,我尝试从DRF返回405响应,但是我不断得到204\u NO\u内容的响应。即使实例没有被删除并且if语句正常工作,返回的响应也不正确。我做错什么了
这是我的密码:
def perform_destroy(self, instance):
if not instance.deletable:
return Response({'error_message': 'Cannot delete last journal entry line.'}, status=status.HTTP_405_METHOD_NOT_ALLOWED)
sje_id = instance.journal_entry.id
instance.delete()
sje = PurchaseJournalEntry.objects.get(pk=sje_id)
sje.regenerate_mutations()
sje.save()
^{} [drf-doc]不应该返回HTTP响应。它应该只是删除对象,而不是返回响应。如果您返回一个响应,它将被忽略
但是,您可以重写^{} [drf-doc]函数,例如:
perform_destroy
不应返回任何内容如果要更改此值,应重写视图的
destroy
或引发适当的异常:相关问题 更多 >
编程相关推荐