话不多说,上代码
class PostDetailView(CommonViewMixin, DetailView):
queryset = Post.latest_posts()
template_name = 'blog/detail.html'
context_object_name = 'post'
pk_url_kwarg = 'post_id'
def get(self, request, *args, **kwargs):
response = super().get(request, *args, **kwargs)
Post.objects.filter(pk=self.object.id).update(pv=F('pv')+1, uv=F('uv')+1)
# self.object是正在操作的对象
# pk是django过滤查询的默认主键
from django.db importe connection
print(connection.queries)
return response
其中CommonViewMixin是自定义的视图函数。