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

Django REST Framework报错:无法从basics.serializers导入ArticleSerializer

错误原因与修复步骤

你有三处错误导致导入失败,按顺序修复即可:

  • 第一处:DRF序列化器模块导入拼写错误
    代码第一行写的是from rest_framework import serializer,少了末尾的s,正确写法是:
    from rest_framework import serializers
    
  • 第二处:类方法缩进错误
    create和update方法是ArticleSerializer类的成员方法,你现在把它们写在了类外部,需要缩进一层放到类内部,同时注意create方法要对传入的字典做解包操作,否则会触发参数错误:
    修正后的类代码结构:
    class ArticleSerializer(serializers.Serializer):
        title = serializers.CharField(max_length=100)
        author = serializers.CharField(max_length=100)
        email = serializers.EmailField(max_length=300)
        date = serializers.DateField()
    
        # 注意缩进,放到类内部
        def create(self, validated_data):
            return Article.objects.create(**validated_data)
    
        def update(self, instance, validated_data):
            instance.title = validated_data.get('title', instance.title)
            instance.author = validated_data.get('author', instance.author)
            instance.email = validated_data.get('email', instance.email)
            instance.date = validated_data.get('date', instance.date)
            instance.save()
            return instance
    
  • 第三处:文件名与导入路径不匹配
    你当前序列化器文件名为serializer.py(单数),但导入语句写的是from basics.serializers import ArticleSerializer(复数),二者要保持一致:要么把文件名改成serializers.py,要么把导入语句改成from basics.serializer import ArticleSerializer。

全部修复完成后,重启Django Shell重新执行导入命令即可生效。

内容的提问来源于stack exchange,提问作者sparsh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:24:01