jyu*_*yur 9 python django django-views
url== http://127.0.0.1:8000/posts/
D:\Priyanka_Angular1\virtual_env\django-angular\lib\site-packages\rest_framework\views.py 中的错误在调度中
response = self.handle_exception(exc)
...
Run Code Online (Sandbox Code Playgroud)
? 本地变量 D:\Priyanka_Angular1\virtual_env\django-angular\lib\site-packages\rest_framework\views.py in handle_exception
self.raise_uncaught_exception(exc)
...
Run Code Online (Sandbox Code Playgroud)
? 调度中的本地变量 D:\Priyanka_Angular1\virtual_env\django-angular\lib\site-packages\rest_framework\views.py
response = handler(request, *args, **kwargs)
...
Run Code Online (Sandbox Code Playgroud)
? 本地变量 D:\Priyanka_Angular1\virtual_env\django-angular\lib\site-packages\rest_framework\generics.py 在 get
return self.list(request, *args, **kwargs)
...
Run Code Online (Sandbox Code Playgroud)
? 本地变量 D:\Priyanka_Angular1\virtual_env\django-angular\lib\site-packages\rest_framework\mixins.py 在列表中
queryset = self.filter_queryset(self.get_queryset())
...
Run Code Online (Sandbox Code Playgroud)
? get_queryset 中的本地变量 D:\Priyanka_Angular1\virtual_env\django-angular\lib\site-packages\rest_framework\generics.py
% self.__class__.__name__
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
from rest_framework import serializers
from posts.models import Post
class PostSerializer(serializers.HyperlinkedModelSerializer):
author = serializers.Field(source='author.username')
api_url = serializers.SerializerMethodField('get_api_url')
class Meta:
model = Post
fields = ('id', 'title', 'description', 'created_on', 'author', 'url', 'api_url')
read_only_fields = ('id', 'created_on')
def get_api_url(self, obj):
return "#/post/%s" % obj.id
Run Code Online (Sandbox Code Playgroud)
视图.py
from django.shortcuts import render
from rest_framework import generics
from posts.models import Post
from posts.serializers import PostSerializer
class PostList(generics.ListCreateAPIView):
"""
List all boards, or create a new board.
"""
model = Post
serializer_class = PostSerializer
class PostDetail(generics.RetrieveUpdateDestroyAPIView):
"""
Retrieve, update or delete a board instance.
"""
model = Post
serializer_class = PostSerializer
Run Code Online (Sandbox Code Playgroud)
您需要包含queryset = Post.objects.all()在您的PostList视图中,以及包含在PostDetail.
每个视图都需要定义一个查询集以了解要查找的对象。您可以使用queryset属性(如我建议的那样)或从get_queryset方法返回有效的查询集来定义视图的查询集。
顺便说一下,您可以删除model视图中的属性,因为它们没有被使用。这不是告诉视图要查找哪些对象的正确方法。
| 归档时间: |
|
| 查看次数: |
14381 次 |
| 最近记录: |