我在帖子表中有2条记录,表格中的一行有评级为空,另一条有评级为2 ,两者都有相同的user_id说5
我先实现了这个
views.py
class Rating(TemplateView):
template_name = 'base/rating.html'
def get(self,request,slug,*args,**kwargs):
user_id = request.user.id
post = get_object_or_404(Post.objects.filter(user_id=user_id,rating__isnull=True))
return render(request,self.template_name)
urls.py
url(r'^post/addRating/(?P<slug>.+?)/$',views.Rating.as_view(),name="post_rating"),
因此,实际的概念是,如果评级列是,则不呈现视图 不为空
因此,评级为null的第一条记录应返回404页面,但不是,第二条记录正确显示
任何人都可以帮我解决吗?
答案 0 :(得分:-1)
你需要仔细阅读django doc,上面的代码是不正确的。 要使用get_object_or_404,您必须编写类似的内容(来自django doc)
from django.shortcuts import get_object_or_404
def my_view(request):
my_object = get_object_or_404(MyModel, pk=1)
对于你的推荐,你应该写一些类似的东西:
posts = Post.objects.filter(user_id=user_id,rating__isnull=True)
post = posts and posts[0]