Django Rest Framework实例化序列化程序错误

蒂亚戈·古德

您好,我是DRF课程的新手

我正在尝试使用API​​从数据库到JSON检索数据,但是数据在许多字段和许多表中,这些表由外键链接。

我要从数据传递ID,API会使用此字段检索所有相关数据。

就像SQL中的Join

我正在通过我的模型创建序列化器和视图。

我的模型之一是:

class ModelPer(ModelMMixin, SQLMixin):
'''Model 
'''
descricao = models.CharField(
    verbose_name = _(u'Descrição'),
    max_length = 250,
    unique = False
)

ativo = models.BooleanField(
    verbose_name= _(u'Ativo'),
    default = False
)

slug = models.SlugField(
    max_length=150,
    unique=True,
    default=uuid.uuid4()
)

我的序列化器是:

class PerSerializer(serializers.ModelSerializer):

class Meta:
    model = ModelPer
    fields = ['id', 'descricao']

我的看法是:

class PerView(APIView):
"""
View that return all forms in app
"""
def get(self, request):
    queryset = ModelPer.objects.all()
    serializer = PerSerializer(queryset)
    print(serializer.data)
    return Response(serializer.data)

但是我收到一个空的Json,因此当我尝试在Django Shell中进行调试时,我收到了以下消息:

>>> from per.models import ModelPer
>>> from api_form.serializers import PerSerializer
>>> queryset = ModelPer.objects.all()
>>> serializer = PerSerializer(queryset)
>>> serialzaer.data

错误

序列化程序字段的名称可能不正确,并且与QuerySet实例上的任何属性或键都不匹配。原始异常文本为:'QuerySet'对象没有属性'descricao'。

当我在终端中尝试检查序列化器时,如下所示:

>>> seriializer

我收到:

PerspectivaSerializer(<QuerySet [<ModelPer: Pespectiva 1>, <ModelPer: Pespectiva 2>, <ModelPer: Pespectiva 3>]>):
id = IntegerField(label='ID', read_only=True)
data_cadastro = DateTimeField(label='Data de Cadastro', required=False)
excluido = NullBooleanField(label='Excluído?', required=False)
data_exclusao = DateTimeField(allow_null=True, label='Data de Exclusão', required=False)
descricao = CharField(label='Descrição', max_length=250)
ativo = BooleanField(required=False)
slug = SlugField(allow_unicode=False, max_length=150, required=False, validators=[<UniqueValidator(queryset=ModelPer.objects.all())>])
usuario_cadastro = PrimaryKeyRelatedField(allow_null=True, label='Usuário que realizou o Cadastro', queryset=User.objects.all(), required=False)
usuario_exclusao = PrimaryKeyRelatedField(allow_null=True, label='Usuário que realizou a exclusão', queryset=User.objects.all(), required=False)

当我检查queryset时,确定!

有人可以帮助我吗?哪里是我的错误!谢谢

Arakkal阿布

要序列化一个对象queryset对象列表而不是单个对象实例,应many=True在实例化序列化程序时传递该标志。然后,您可以传递查询集或要序列化的对象列表

因此,将many=True参数用作

serializer = PerSerializer(queryset, many=True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django REST Framework 序列化程序验证错误

来自分类Dev

Django Rest Framework序列化程序和Django表单

来自分类Dev

在 Django Rest Framework 中保存实例嵌套序列化程序

来自分类Dev

实例化时Django REST框架序列化器错误

来自分类Dev

实例化时Django REST框架序列化器错误

来自分类Dev

Django序列化程序与rest_framework序列化程序

来自分类Dev

Django Rest Framework嵌套的序列化程序部分更新

来自分类Dev

Django Rest Framework更新嵌套序列化程序

来自分类Dev

Django Rest Framework序列化程序中的循环依赖

来自分类Dev

在Django Rest Framework中将HyperlinkedField用于序列化程序

来自分类Dev

Django Rest Framework 中用户特定的序列化程序

来自分类Dev

Django Rest Framework上的序列化器导入错误

来自分类Dev

Django Rest-Framework序列化错误

来自分类Dev

Django Rest Framework序列化程序中的自定义错误消息

来自分类Dev

如何在Django Rest Framework序列化程序中捕获SQL错误?

来自分类Dev

Django Rest序列化程序外键是必需的错误

来自分类Dev

Django REST Framework ManyRelatedField的序列化

来自分类Dev

翻译序列化 Django Rest Framework

来自分类Dev

Django Rest Framework的许多序列化都会生成无序列化关系的NoneType实例

来自分类Dev

Django Rest Framework的许多序列化都会生成无序列化关系的NoneType实例

来自分类Dev

django-rest-framework:不能调用`.is_valid()`,因为在实例化序列化程序实例时未传递`data =`关键字参数

来自分类Dev

针对不同的HTTP方法使用不同的序列化程序时,Django REST Framework可浏览的API错误

来自分类Dev

返回带有序列化程序列表的响应Django REST Framework

来自分类Dev

模型,视图或序列化程序是否代表Django Rest Framework中的REST资源?

来自分类Dev

Django Rest Framework-序列化后获取模型实例

来自分类Dev

django rest m2m 序列化程序抛出错误请求错误

来自分类Dev

如何在Django Rest Framework 3.0序列化程序中访问查询参数?

来自分类Dev

Django REST Framework-在序列化程序测试中设置请求?

来自分类Dev

Django REST Framework:将上下文传递给嵌套的序列化程序

Related 相关文章

  1. 1

    Django REST Framework 序列化程序验证错误

  2. 2

    Django Rest Framework序列化程序和Django表单

  3. 3

    在 Django Rest Framework 中保存实例嵌套序列化程序

  4. 4

    实例化时Django REST框架序列化器错误

  5. 5

    实例化时Django REST框架序列化器错误

  6. 6

    Django序列化程序与rest_framework序列化程序

  7. 7

    Django Rest Framework嵌套的序列化程序部分更新

  8. 8

    Django Rest Framework更新嵌套序列化程序

  9. 9

    Django Rest Framework序列化程序中的循环依赖

  10. 10

    在Django Rest Framework中将HyperlinkedField用于序列化程序

  11. 11

    Django Rest Framework 中用户特定的序列化程序

  12. 12

    Django Rest Framework上的序列化器导入错误

  13. 13

    Django Rest-Framework序列化错误

  14. 14

    Django Rest Framework序列化程序中的自定义错误消息

  15. 15

    如何在Django Rest Framework序列化程序中捕获SQL错误?

  16. 16

    Django Rest序列化程序外键是必需的错误

  17. 17

    Django REST Framework ManyRelatedField的序列化

  18. 18

    翻译序列化 Django Rest Framework

  19. 19

    Django Rest Framework的许多序列化都会生成无序列化关系的NoneType实例

  20. 20

    Django Rest Framework的许多序列化都会生成无序列化关系的NoneType实例

  21. 21

    django-rest-framework:不能调用`.is_valid()`,因为在实例化序列化程序实例时未传递`data =`关键字参数

  22. 22

    针对不同的HTTP方法使用不同的序列化程序时,Django REST Framework可浏览的API错误

  23. 23

    返回带有序列化程序列表的响应Django REST Framework

  24. 24

    模型,视图或序列化程序是否代表Django Rest Framework中的REST资源?

  25. 25

    Django Rest Framework-序列化后获取模型实例

  26. 26

    django rest m2m 序列化程序抛出错误请求错误

  27. 27

    如何在Django Rest Framework 3.0序列化程序中访问查询参数?

  28. 28

    Django REST Framework-在序列化程序测试中设置请求?

  29. 29

    Django REST Framework:将上下文传递给嵌套的序列化程序

热门标签

归档