在Views.py中返回對象之前修改對象存在一個小問題。我的情況是,我必須隱藏/修改未訂閱用戶的模型對象的某些值。我當前的代碼是這樣的(僞代碼):修改視圖中的對象值,而無需使用django修改數據庫值
ShowList(ListAPIView):
def get_queryset(self):
"""
This view should return a list of all the Shows
for the currently authenticated user.
"""
pk = self.kwargs['pk']
shows = Shows.objects.get(id=pk)
return shows
我想要做的是從查詢得到的那些改變一個對象。例如,我想爲名爲'video'的對象返回0/null。我所做的是:
shows.video = 0
shows.save()
return shows
問題是它實際上覆蓋了數據庫級別的對象的值。我想要的只是在返回之前暫時更改它。我也曾嘗試
permission_classes =(subscription_permission,)
但它會阻止所有的views.py。我希望取消訂閱的用戶查看預訂用戶的預覽內容,但不會看到視頻。謝謝!