gpt4 book ai didi

python - 如何将 DRF 自定义序列化器字段与数据库模型一起使用

转载 作者:行者123 更新时间:2023-12-04 15:40:45 24 4
gpt4 key购买 nike

我正在使用具有二进制字段的关系数据库,那么如何使用 DRF 序列化程序来保存字段值

我已经引用了文档 https://www.django-rest-framework.org/api-guide/fields/#custom-fields并理解了一些部分并在下面创建,但我不确定如何在序列化程序中使用它

模型

class MyData(models.Model):
data = models.BinaryField()

自定义字段

class BinaryField(serializers.Field):
def to_representation(self, value):
return value.decode('utf-8')

def to_internal_value(self, value):
return value.encode('utf-8')

但是我应该如何在下面的序列化程序中使用它

class BlobDataSerializer (serializers.ModelSerializer):
class Meta:
model = MyData
fields = ('id', 'data')

所以基本上我试图将传入的数据存储在二进制字段中。提前致谢

最佳答案

像这样:

class BlobDataSerializer (serializers.ModelSerializer):
class Meta:
model = MyData
fields = ('id', 'data')

data = BinaryField()

对于更可重用的解决方案,您还可以子类化 ModelSerializer 并自定义 serializer_field_mapping

参见 https://www.django-rest-framework.org/api-guide/serializers/#customizing-field-mappings

关于python - 如何将 DRF 自定义序列化器字段与数据库模型一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920730/

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