1. 程式人生 > 其它 >AssertionError: Class XXXXX missing "Meta.model" attribute

AssertionError: Class XXXXX missing "Meta.model" attribute

原始碼示例:

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   

可對比原始碼示例。