当前位置: 首页 > 知识库问答 >
问题:

Django viewset错误:“QuerySet”对象没有属性“title”

唐高卓
2023-03-14

我试图为Course模型创建一个视图集(简单地显示所有课程),但是当我试图访问它时,我得到了以下错误。 我刚开始创建视图集和Django,我做错了什么?

Django 2.2

错误

AttributeError: Got AttributeError when attempting to get a value for field `title` on serializer `CourseSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `QuerySet` instance.
Original exception text was: 'QuerySet' object has no attribute 'title'.

CourseViewSet

class CourseViewSet(viewsets.ModelViewSet):
    def list(self, request):
        queryset = Course.objects.all()
        serializer = CourseSerializer(queryset)
        return Response(serializer.data)

课程化者

class CourseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Course
        fields = (
            'id',
            'title',
            'description',
            'active',
            'individual_result',
            'course_duration',
            'video',
            'manager_id'
        )

模型/课程

class Course(models.Model):
    title = models.CharField(max_length=255, blank=False, null=False)
    description = models.CharField(max_length=255, blank=True, null=True)
    active = models.BooleanField(default=True)
    individual_result = models.BooleanField(default=False) 
    course_duration = models.CharField(max_length=255, blank=True, null=True)  
    video = models.CharField(max_length=255, blank=True, null=True)  
    manager_id = models.ForeignKey(User, on_delete=models.CASCADE, null=True)

    def __str__(self):
        return self.title

共有1个答案

曾修真
2023-03-14

应该使用many=true序列化,因为queryset是可以包含零个,一个或多个元素的对象集合:

serializer = CourseSerializer(queryset, many=True)

有关更多信息,请参见“处理多个对象”部分[drf-doc]。

 类似资料:
  • 当我执行代码时,我得到一个错误, 属性错误:“WebDriver”对象没有属性“find_element_by_xpath”

  • 问题内容: 我正在尝试从中文网站中抓取一些javascript生成的内容。我正在使用Selenium(和Python),因为我无法直接抓取javascript内容。 我得到以下错误: 实际上,我似乎无法在selenium.selenium类中调用任何命令。毫无疑问,我忽略了非常明显的事情。提前致谢。 问题答案: 您只需要。 执行以获取页面上的html元素(最大的元素)。(您可以通过多种方式执行此操

  • 在这个错误之前,它已经给了我另一个“xrange不存在”之类的信息,所以我查找了它,并将nx_shp.py文件中的更改为,这似乎解决了这个问题。 根据我所读到的内容,它可能与Python版本(Python2 vs Python3)有关。

  • 我遇到了这个错误,它不允许我在表单中保存信息。初始数据在表单中显示良好,但保存起来很困难。希望有人能帮忙,我真的被困了 追踪: 内部 41 中的文件“C:\程序文件\Python35\lib\site-packages\django\core\处理程序\exception.py”。响应 = get_response(请求) 文件"C:\Program Files\Python35\lib\site

  • 问题内容: 我正在尝试读取文件,并用逗号在每行中拆分一个单元格,然后仅显示包含有关纬度和经度信息的第一和第二个单元格。这是文件: 时间, 纬度,经度 ,类型2015-03-20T10:20:35.890Z, 38.8221664,-122.7649994 ,地震 2015-03-20T10 :18:13.070Z, 33.2073333,-116.6891667 ,地震 2015-03-20T10

  • 我试图分裂链接的图像是什么错在我的代码

  • 我在Jupyter Notebook中运行Keras神经网络模型(Python 3.6) 我得到以下错误 属性错误:列表对象没有属性ndim 从K调用. fi()方法后eras.model 我检查了Keras的requirements.txt文件(在Anaconda3中),Numpy、smpy和六个模块版本都是最新的。 什么可以解释这个属性错误? 完整的错误消息如下(似乎与Numpy有些关联):

  • 我使用要连接到mysql,下面是我的Python语句: 但是有一个错误,这里是日志: 这是我的代码: 我已经创建数据库在谢谢