You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django序列化器报错AssertionError:ProductSerializer缺少'Meta.model'属性,但已定义Meta类

Django序列化器报错AssertionError:ProductSerializer缺少'Meta.model'属性,但已定义Meta类

嗨,我一眼就揪出问题所在啦!你这个报错看起来有点迷惑,但其实就是个超小的语法细节失误——你在Meta类里用冒号:来给model和fields赋值了,但Python里给类属性赋值必须用等号=呀!

Django的ModelSerializer会去读取Meta类里的model和fields属性来关联模型和指定字段,但你用冒号的写法不符合Python类属性的赋值语法,导致Django压根识别不到这些配置,所以才会抛出「缺少Meta.model」的错误。

给你修正后的序列化器代码:

class ProductSerializer(serializers.ModelSerializer):
    class Meta:
        model = Product  # 把原来的冒号改成等号
        fields = ['title','image','likes']  # 这里同样要换成等号

另外还要提醒你一下,你的Product模型代码存在缩进问题,Python对缩进要求非常严格,正确的写法应该是这样(每个字段都要缩进一级):

class Product(models.Model):
    title = models.CharField(max_length=200)
    image = models.CharField(max_length=200)
    likes = models.PositiveIntegerField(default=0)

改完这两处,你的序列化器应该就能正常工作啦!

备注:内容来源于stack exchange,提问作者cls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:40:28