AssertionError: Class XXXXX missing "Meta.model" attribute
阅读原文时间:2023年07月08日阅读:1

源码示例:

from rest_framework import serializers
from set.models import Set

class SetSerializers(serializers.ModelSerializer):
"""
配置信息序列化
"""
product_id = serializers.IntegerField()
create_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
update_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)

class Meta:  
    module = Set  
    fields = ('id', 'setname', 'setvalue', 'product\_id', 'create\_time', 'update\_time')

运行错误:

File "D:\Program Files\Python38\lib\site-packages\django\utils\functional.py", line 80, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "D:\Program Files\Python38\lib\site-packages\rest_framework\serializers.py", line 370, in _writable_fields
field for field in self.fields.values()
File "D:\Program Files\Python38\lib\site-packages\rest_framework\serializers.py", line 363, in fields
for key, value in self.get_fields().items():
File "D:\Program Files\Python38\lib\site-packages\rest_framework\serializers.py", line 977, in get_fields
assert hasattr(self.Meta, 'model'), (
AssertionError: Class SetSerializers missing "Meta.model" attribute

解决方法:

以上问题是由于在序列化器中缺失或者写错以下字段

class Meta:
model = Set

可对比源码示例。