0

我正在使用DRF創建API後端。現在,我想在保存管理員模型的同時執行某些驗證規則。我使用viewset,並且可以在從其餘框架調用時覆蓋。但是,當我通過重寫保存()方法驗證模型,它不能發出任何錯誤信息給管理員,因爲它沒有任何要求參數。該方案是這樣的:Django錯誤消息從django.db模型到管理

from django.db import models 

class PatientCaregiver(models.Model):  
    name = models.CharField(max_length=200, null=True, blank=True) 
    email = models.CharField(max_length=200, null=True, blank=True) 

    def save(self, *args, **kwargs): 
     # do some processing 
     # return some error or success msg(how?) 

我知道我可以發送錯誤信息與下面的代碼:

from django.contrib import messages 
    messages.error(request,'Error message') 

但你可以看到,在我保存()模型,我沒有請求參數。那麼,如何從save()模型向管理員發送任何錯誤消息?

+0

但您爲什麼需要模型保存方法中的錯誤消息? – Aniket

+0

,因爲這是請求從django管理員執行時到達的地方。我想我不能使用視圖來處理管理員操作。我可以嗎? –

回答

0

來處理這個正確的方法是將save內拋出一個異常,捕獲它的視圖,並添加您的留言代碼出現。

+0

但我如何在視圖中覆蓋管理操作?我不知道是否有辦法。 –

+0

https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#admin-custom-validation – Linovia