Django Rest - 无法序列化项目

精神

我正在尝试序列化嵌套关系,但在从请求创建模型期间出错: 'MeasureUnit' object has no attribute 'unit'

我究竟做错了什么?我只是想创建模型MeasureItem,但MeasureUnit不知何故出错

我的模型:

from django.db import models
from measure_unit.models import MeasureUnit
from main_user.models import MainUser

class Item(models.Model):
    code = models.CharField(unique=True, max_length=15)
    current_code = models.CharField(blank=True, null=True, max_length=15)

    title = models.CharField(default='', max_length=100)
    description = models.TextField(blank=True, null=True)

    measure_units = models.ManyToManyField(MeasureUnit, through='MeasureItem', through_fields=('item', 'unit'), blank=True)

    class Meta:
        ordering = ('created_at',)

class MeasureItem(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE, blank=True, null=True)
    unit = models.ForeignKey(MeasureUnit, on_delete=models.CASCADE, blank=True, null=True)
    quantity = models.IntegerField(default=0)

    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ('created_at',)

我的序列化器:

from rest_framework import serializers
from .models import Item, MeasureItem

class MeasureUnitSerializer(serializers.ModelSerializer):

    class Meta:
        model = MeasureItem
        fields = ('id', 'unit')

class ItemAdminSerializer(serializers.ModelSerializer):

    measure_units = MeasureUnitSerializer(many=True)

    class Meta:
        model = Item
        fields = ('id', 'code', 'current_code', 'title', 'description', 'measure_units')

    def create(self, validated_data):
        units_data = validated_data.pop('measure_units')
        item = Item.objects.create(**validated_data)

        for unit_data in units_data:
            try:
                measure_unit = unit_data['unit']
                MeasureItem.objects.create(unit=measure_unit, item=item)
            except Exception as e:
                print(str(e))
                return item
        return item
从不独行者

MeasureUnitSerializer是 ModelSerializer 用于MeasureItem模型,但您将它用于MeasureUnit模型中ItemAdminSerializer

measure_units = MeasureUnitSerializer(many=True)

由于 MeasureUnit 没有unit字段,您会看到错误。您可以尝试指定字段的source参数measure_units

measure_units = MeasureUnitSerializer(source='measureitem_set', many=True)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django rest框架嵌套序列化无法正常工作

来自分类Dev

Django rest框架嵌套序列化无法正常工作

来自分类Dev

Django REST Framework ManyRelatedField的序列化

来自分类Dev

翻译序列化 Django Rest Framework

来自分类Dev

django rest 框架,不可序列化

来自分类Dev

无法在Django Rest Framework序列化器的validated_data中获取非模型字段

来自分类Dev

Django Rest Framework-无法避免在响应中对空字段进行序列化

来自分类Dev

Django Rest Framework:prefetch_related与序列化程序无法正常工作

来自分类Dev

get_field无法正常工作Django Rest Framework序列化器

来自分类Dev

Django rest PUT 请求序列化程序无法使用外键更新模型

来自分类Dev

在 Django Rest 中,无法序列化具有一对多映射的对象

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Django REST框架序列化模型组合

来自分类Dev

Django REST序列化器:创建对象而不保存

来自分类Dev

Django REST Framework序列化器字段必填= false

来自分类Dev

Django Rest Framework按顺序返回序列化的数据

来自分类Dev

Django Rest Framework序列化器分别渲染表单

来自分类Dev

Django Rest Framework中的序列化器字段筛选?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

django-rest-framework序列化器to_representation

来自分类Dev

Django REST Framework序列化器字段必填= false

来自分类Dev

Django Rest框架自定义序列化字段

来自分类Dev

Django REST框架扁平,可读写序列化器

来自分类Dev

在Django Rest框架中修改序列化器的输出

来自分类Dev

Django Rest Framework序列化器丢失数据

来自分类Dev

序列化器上的Django Rest Framework条件字段

来自分类Dev

使用ManyToManyField序列化模型时的Django REST错误

Related 相关文章

  1. 1

    Django rest框架嵌套序列化无法正常工作

  2. 2

    Django rest框架嵌套序列化无法正常工作

  3. 3

    Django REST Framework ManyRelatedField的序列化

  4. 4

    翻译序列化 Django Rest Framework

  5. 5

    django rest 框架,不可序列化

  6. 6

    无法在Django Rest Framework序列化器的validated_data中获取非模型字段

  7. 7

    Django Rest Framework-无法避免在响应中对空字段进行序列化

  8. 8

    Django Rest Framework:prefetch_related与序列化程序无法正常工作

  9. 9

    get_field无法正常工作Django Rest Framework序列化器

  10. 10

    Django rest PUT 请求序列化程序无法使用外键更新模型

  11. 11

    在 Django Rest 中,无法序列化具有一对多映射的对象

  12. 12

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

  13. 13

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

  14. 14

    Django REST框架序列化模型组合

  15. 15

    Django REST序列化器:创建对象而不保存

  16. 16

    Django REST Framework序列化器字段必填= false

  17. 17

    Django Rest Framework按顺序返回序列化的数据

  18. 18

    Django Rest Framework序列化器分别渲染表单

  19. 19

    Django Rest Framework中的序列化器字段筛选?

  20. 20

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

  21. 21

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

  22. 22

    django-rest-framework序列化器to_representation

  23. 23

    Django REST Framework序列化器字段必填= false

  24. 24

    Django Rest框架自定义序列化字段

  25. 25

    Django REST框架扁平,可读写序列化器

  26. 26

    在Django Rest框架中修改序列化器的输出

  27. 27

    Django Rest Framework序列化器丢失数据

  28. 28

    序列化器上的Django Rest Framework条件字段

  29. 29

    使用ManyToManyField序列化模型时的Django REST错误

热门标签

归档