在Django-Rest框架中,我不能通过id来获得对象。我有一个这样的模型:
class BlogPost(models.Model):
title = models.CharField(max_length=128)
content = models.TextField()
created = models.DateTimeField(auto_now_add=True)
然后我编写一个序列化程序:
^{pr2}$在我的views.py
中,我有这样一个:
class BlogPostListFilter(dajngo_filter.FilterSet):
blog_post_id = django_filters.NumerFilter(name = 'id')
class Meta:
model = BlogPost
fiields = ['blog_post_id']
class BlogPostList(generics.ListCreateAPIView):
queryset = BlogPost.objects.all()
serializer_class = BlogPostSerializer
permission_classes = (AllowAny,)
filter_class = BlogPostListFilter
paginate_by = 100
我的网址里有这样的代码:
url(r'^blogpost/$', ListCreateAPIView.as_view(model=BlogPost), name='blogpost-list'),
但当我在浏览器http://example.com/blogpost/?blog_post_id=1中编写时,我拥有所有对象
如果您真的想使用
ListCreateAPIView
。您需要进行一些更改:网址.py:
视图.py
^{pr2}$但是我认为Django Rest框架为您的用例提供了更好的基于类的视图,比如
RetrieveAPIView
。据我所知,似乎你只想得到一个对象,而这个通用视图是针对一个对象列表的。在相关问题 更多 >
编程相关推荐