2017-10-16 114 views
0

模型字段的值我有這樣的模式:更改通過視圖

class UserNotification(models.Model): 
    user = models.ForeignKey(User,related_name='user',null=True) 
    post = models.ForeignKey('feed.UserPost',related_name='post') 
    timestamp = models.DateTimeField(auto_now_add=True) 
    notify_type = models.CharField(max_length=6) 
    read = models.BooleanField(default=False) 

    def get_absolute_url(self): 
     return reverse('notify:user_notifications') 

    def __str__(self): 
     return str(self.user) 

它記錄用戶的動作在關於其他用戶的信息,這樣的帖子的主人可以得到通知。

我再有這樣的觀點:

class NotifyMarkRead(RedirectView): 
    def get_redirect_url(self,pk): 
     obj = get_object_or_404(UserNotification,pk=pk) 
     if obj.read != True: 
      obj.read == True 
     else: 
      obj.read == False 
     return obj.get_absolute_url() 

這是處理通知上的用戶點擊美景。此視圖應檢查read是否等於True或False(默認爲false)。如果用戶點擊通知,則視圖應該將read更新爲True。但是,這不是那樣做的。那麼當用戶瀏覽這個視圖時,如何更新模型中的read字段?

此外,我不是該網頁正在訪問,但它只是去/notify/1/read/而不是重定向回/notify/。請確定這是否重要。

這裏是我的網址:

from django.conf.urls import url 
from notify import views 

app_name = 'notify' 

urlpatterns = [ 
    url(r'^$',views.UserNotifications.as_view(),name='user_notifications'), 
    url(r'^(?P<pk>\d+)/read/$',views.NotifyMarkRead.as_view(),name='user_notify_toggle'), 
] 

回答

2

obj.save()

試試這個保存更新

+0

我補充說,它仍然無法正常工作。 – Garrett

+3

您還在使用==進行分配。這是不正確的,使用single =而不是'obj.read == True'使用'obj.read = True' –

+0

不知道。這解決了,謝謝。 – Garrett