gpt4 book ai didi

python - Django REST 框架 API : PrimaryKeyRelatedField

转载 作者:行者123 更新时间:2023-12-05 07:58:37 29 4
gpt4 key购买 nike

我对 Django Rest Framework API 还很陌生。

我的问题是我可以在 serializers.Serializer 子类中声明一个 PrimaryKeyRelatedField 吗?或者它必须在 serializers.ModelSerializer 子类中?

例如,我曾经有如下的序列化器:

class ExampleSerializer(serializers.ModelSerializer):
author = serializers.PrimaryKeyRelatedField(required=False)
## and more general fields
class Meta:
model = Example

效果很好。

然后我改成:

class ExampleSerializer(serializers.Serializer):
author = serializers.PrimaryKeyRelatedField(required=False)
## and more general fields

哪里出错了:

AttributeError: 'SerializerOptions' object has no attribute 'model'

我确定这个错误是由'作者'字段引起的(如果您将其注释掉,错误就会消失)

那么这是不是说明我不能在通用Serializer中使用外键类型字段呢?

顺便说一下,如果您好奇为什么我将我的序列化程序从 ModelSerializer 更改为 Serializer,是因为我想包含一些额外的字段(在任何模型中都不存在)以创建一个新的 Example 实例。默认情况下 .restore_object() 方法简单调用 Example(**attrs) 来创建新实例,这将导致字段错误。

最佳答案

您需要一个模型,因为您想要序列化数据库关系。

Here is the doc

关于python - Django REST 框架 API : PrimaryKeyRelatedField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24211873/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com