所以这是我要序列化的模型:
from django.db import models
class Concurs(models.Model):
name = models.CharField(max_length=50)
date = models.DateTimeField(auto_now_add=True)
bio = models.TextField(max_length=5000, blank=True, null=True)
participants = models.PositiveIntegerField(blank=True, null=True)
medals = models.PositiveIntegerField(blank=True, null=True)
done = models.BooleanField()
link = models.CharField(max_length=1000, blank=True, null=True)
class Meta:
verbose_name="Concurs"
ordering = ['-date']
def __str__(self):
return self.name
这是序列化过程:
from rest_framework import serializers
from .models import Concurs
class ConcursSerializer(serializers.ModelSerializer):
class Meta:
model = "Concurs"
fields = "__all__"
这是views.py:
from django.shortcuts import render
from .models import Concurs
from .serializers import ConcursSerializer
from rest_framework import generics
class ConcursList(generics.ListCreateAPIView):
queryset = Concurs.objects.all()
serializer_class = ConcursSerializer
class ConcursDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Concurs.objects.all()
serializer_class = ConcursSerializer
每当我导航到列表或详细信息视图时,都会收到以下错误:
'str'对象没有属性'_meta'
我想我在序列化过程中犯了一个错误,我是RESTFramework的新手,所以我真的不知道。
from rest_framework import serializers
from .models import Concurs
class ConcursSerializer(serializers.ModelSerializer):
class Meta:
model = Concurs
fields = "__all__"
您应该使用Concurs类引用而不是字符串名称 "Concurs"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句