【问题标题】:Django serialization errorDjango序列化错误
【发布时间】:2014-04-25 15:45:34
【问题描述】:

我正在尝试像这样序列化我的 django 模型:

>>> from studentapp.models import StudentAcademicPrograms
>>> from studentapp.models import AcademicPrograms, AcademicProgramsManager
>>> from django.core import serializers
>>> json_serializer = serializers.get_serializer("json")
>>> data = json_serializer.serialize(StudentAcademicPrograms.objects.all())

但我收到此错误:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: unbound method serialize() must be called with Serializer instance as first argument (got QuerySet instance instead)

【问题讨论】:

    标签: python django


    【解决方案1】:

    你可以这样做:

    from django.core.serializers import serialize
    serialize('json', StudentAcademicPrograms.objects.all())    
    

    您的具体问题是您尝试在 Serializer 类上调用 serialize(),而不是实例。

    JSONSerializer = serializers.get_serializer("json")
    json_serializer = JSONSerializer()
    json_serializer.serialize(StudentAcademicPrograms.objects.all())
    data = json_serializer.getvalue()
    

    还可以查看 django 文档中的 this example

    【讨论】:

    • 您好,我有一个小问题。如何将输出写入文件以便我可以使用 angularjs 服务访问它?
    • @crozzfire 如果您想将其写入文件,请点击我提供的链接 - 那里有一个示例。
    • 嗨亚历克斯!这里有一点帮助吗? stackoverflow.com/questions/29126989/…
    【解决方案2】:

    你必须实例化json_serializer

    >>> data = json_serializer().serialize(StudentAcademicPrograms.objects.all())
    

    在 json_serializer 之后通知 ()

    【讨论】:

      猜你喜欢
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 2019-05-23
      • 2020-12-09
      相关资源
      最近更新 更多