用棉花糖反序列化 Django 模型

时间:2021-01-14 17:02:57

标签: python django marshmallow

我的 Django 项目中有 2 个模型:

class Item(models.Model):
    title = models.CharField(max_length=64)
    description = models.CharField(max_length=1024)
    price = models.PositiveIntegerField()


class Review(models.Model):
    grade = models.PositiveSmallIntegerField()
    text = models.CharField(max_length=1024)
    item = models.ForeignKey('Item', on_delete=models.CASCADE, related_name='reviews')

我希望能够反序列化带有嵌套 Itemreviews 模型(这是一个评论查询集)

我用以下方式描述了棉花糖模式:

class ReviewSchemaID(Schema):
    id = fields.Int()
    grade = fields.Int()
    text = fields.Str()


class ItemReviewsSchema(Schema):
    id = fields.Int()
    title = fields.Str()
    description = fields.Str()
    price = fields.Int()
    reviews = fields.List(fields.Nested(ReviewSchemaID()))

但是当尝试将 django 对象反序列化为 JSON 时:

item = get_object_or_404(Item, id=item_id)
item_data = ItemReviewsSchema().dump(item)

我收到以下错误:

TypeError: __call__() missing 1 required keyword-only argument: 'manager'

如何修复错误?

0 个答案:

没有答案