當新來的Django和Python這裏,所以原諒我,如果這是簡單的東西並不存在......Python的Django的 - 相匹配查詢中使用PK
我試圖刪除MyClass類型的對象,但對於一些當我確信該對象事實上存在時,我不斷收到匹配查詢的原因不存在錯誤。
我寫了一個刪除方法,看起來像這樣:
def delete(self, request, format=None, *args, **kwargs):
identifier = request.DATA.get('identifier', None)
my_object = MyObjectClass.objects.get(pk=identifier)
if my_object:
my_object.delete()
return Response(status=status.HTTP_200_OK)
當我這樣做,我得到的消息MyObjectClass匹配查詢不存在的。
然而,當我運行python manage.py殼,我可以檢索對象是這樣的:
my_object = MyObjectClass.objects.get(pk=1001)
的作品如預期...所以很明顯無論是存儲在該標識符變量是不正確,儘管我無法弄清楚爲什麼。我的問題:是否需要進行一些類型轉換才能使其發揮作用?還是有人有另一個想法,爲什麼這可能會打破?
謝謝!
說明:你說你已經寫了一個「刪除方法」。你的意思是一個基於Django函數的視圖,是否正確? (而不是重寫模型的刪除方法或東西) – foobarbecue
正確的......上面的代碼執行時,我發送DELETE請求 –
啊等待,這可能是基於類的視圖的刪除方法?當Django添加CBVs時,一切變得如此複雜...... – foobarbecue