gpt4 book ai didi

django - 如何传递与 Django Rest Framework 中的序列化器字段无关的参数?

转载 作者:行者123 更新时间:2023-12-04 21:09:38 25 4
gpt4 key购买 nike

我有一个包含与模型无关的字段的表单。我假设使用 REST API (django-rest-framework) 实现等效项,我必须传递那些与序列化程序无关的附加字段?我怎么做?

假设附加字段是 number_of_pages。我用它来计算。我如何允许它在我的 REST 调用中传递?

最佳答案

如果您正在使用 ModelSerializer从 DjangoRestFramework 中,只需添加一个字段。

默认情况下只添加模型字段,但没有任何限制你添加更多,唯一可能有问题的(但我没有测试过) - 在创建或更新模型时你可能有太多字段 - 在这种情况下,您将需要删除 create() 中的这些字段和 update()调用前的方法 save() .

class MyModelSerializer(serializers.ModelSerializer):
number_of_pages = fields.IntegerField()

# this I'm not sure if needed
def create(self, validated_data):
validated_data.pop('number_of_pages')
return super(MyModelSerializer, self).create(validated_data)

def update(self,instance, validated_data):
validated_data.pop('number_of_pages')
return super(MyModelSerializer, self).update(instance, validated_data)
# end

class Meta:
fields = ('mymodelfield_1', 'mymodelfield_2', 'number_of_pages')
model = MyModel

关于django - 如何传递与 Django Rest Framework 中的序列化器字段无关的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37410930/

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