我有一个模型Django的处理多个ID
class Notification(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=150)
body = models.ForeignKey(Question)
viewed = models.BooleanField(default=False)
def __unicode__(self):
return self.title
这里我要实现的就是让那些尚未查看的当用户查看该通知应设置为观看=真通知。
我的通知与信息和问题标题完美配合。当用户点击通知时,它会转到问题的详细视图。
在这里,我想让通知设置为当用户转到问题的详细视图时查看。
我的模板文件是
{% for notification in notifications %}
<p><a href="{% url "question-detail" notification.body.id %}">{{notification.title}} </a></p>
{{notification.body}}
{% endfor %}
查看我的问题细节的看法是:
class QuestionDetailView(DetailView):
context = {}
model = Question
template_name = "question-detail.html"
def get(self, request, pk, **kwargs):
self.pk = pk
return super(QuestionDetailView, self).get(request, pk, **kwargs)
def get_context_data(self, **kwargs):
context = super(QuestionDetailView,self).get_context_data(**kwargs)
context['question'] = Question.objects.get(pk=self.pk)
return context
其网址为:
url(r'^question/(?P<pk>\d+)',QuestionDetailView.as_view(), name="question-detail"),
在这里,我想设置的通知被视为=真。我怎样才能得到通知的ID。在URL中,我已经得到了问题的ID。
这没有奏效。这样做会将所有通知设置为与特定问题相关的已被视为= True。单个问题可能有多个通知。这样做,它会将所有通知设置为已阅读= True,而我希望特定通知为True。 – gamer 2014-10-30 13:10:29
@Aeronn是的,这将设置**全部**通知,与当前问题相关,如同查看。您如何识别*特定*通知,即什么通知*特别*什么不是? – stalk 2014-10-30 13:18:24
@Aeronn检查更新的问题 – stalk 2014-10-30 19:04:30