我正在使用django重置框架来创建API。
这是我的Serializer.py
class ArticleSerializer(serializers.Serializer):
class Meta:
model = Article
fields = ("title", "content")
views.py
class ArticleListView(ListAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
class ArticleDetailView(RetrieveAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
urls.py
from .views import ArticleListView, ArticleDetailView
urlpatterns = [
path('', ArticleListView.as_view() ),
path('<pk>', ArticleDetailView.as_view() ),
]
当我拉起http://127.0.0.1:8000/api/
时,DB中有3个Article模型对象,而我得到的就是这个:
[
{},
{},
{}
]
models.py
class Article(models.Model):
title = models.CharField(max_length=120)
content = models.TextField()
def __str__(self):
return self.title
为什么我看不到我班上的title
和content
的值?
答案 0 :(得分:4)
您的代码中有一个小错字。
ListChangeListener.Change
应为:
class ArticleSerializer(serializers.Serializer):
请注意您缺少的“模型”。
使用常规的class ArticleSerializer(serializers.ModelSerializer):
,您需要显式定义字段,而Serializer
将对相关模型进行自省。