当使用 rest-framework的时候, 我在创建完成 serializer后,指定了对应的metadata时候,当通过ModelViewSet 来创建 对应的API时,出现问题: Django Field name content_html
is not valid for model。 代码如下:
对于 serializer
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = ['title', 'category', 'desc', 'content_html', 'created_time']
class PostViewSet(viewsets.ModelViewSet):
serializer_class = PostSerializer
queryset = Post.objects.filter(status=Post.STATUS_NORMAL)
问题是因为对应的model 没有对应的content_html 字段而导致的问题,因此要么去掉content_html,要么在model中创建该字段并makemigrations migrate下。
核心要注意的便是: 将字段进行一一核实,防止出现非常奇怪的问题。