Nav*_*een 3 django django-rest-framework
我正在尝试使用 generics.ListApiView 来获取对象列表,这是我的序列化器
class SitesSerializer(serializers.Serializer):
class Meta:
model = models.Sites
fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
模型
# domain name without www
class Sites(models.Model):
SiteName = models.CharField(max_length=50)
DomainName = models.CharField(max_length=50, primary_key=True)
Currency = models.CharField(max_length=20)
CurrencySymbol = models.CharField(max_length=10)
SiteGroup = models.CharField(max_length=50, choices=SHOPZY_SITE_CHOICES,
default=AMAZON)
Run Code Online (Sandbox Code Playgroud)
这是我的视图类
class SitesView(generics.ListAPIView):
queryset = Sites.objects.all()
serializer_class = SitesSerializer
Run Code Online (Sandbox Code Playgroud)
但是我没有得到站点对象的列表,而是得到了一个充满空对象的列表,上面代码产生的输出是
[
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{}
]
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题吗?为什么其余框架无法显示站点对象的字段?
问题出在你的SitesSerializer班级上。
你应该使用serializers.ModelSerializer而不是serializers.Serializer
class SitesSerializer(serializers.ModelSerializer):
class Meta:
model = models.Sites
fields = '__all__'Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1005 次 |
| 最近记录: |