如何使用 Django REST 框架将输入作为字符串并在 Django 中另存为二进制?



这是我的模型:

class Example(models.Model):
file = S3PrivateFileField()
text = models.TextField(null=True, blank=True)
binary = models.BinaryField(null=True, blank=True)

这是序列化程序:

class ExampleSerializer(ModelSerializer):
class Meta:
model = Example
fields = ['file', 'text', 'binary']

首先,在可浏览 API 中,我可以看到filetext字段,但看不到binary字段。如何查看该字段?

其次,binary字段的输入数据类型string,我想将其保存为数据库中的binary数据。我怎样才能让它工作?

要将str转换为字节字符串,请对其进行编码:

>>> s = 'hello'
>>> b = s.encode()  # default is UTF-8 encoding
>>> b
b'hello'

您可能无法在 UI 中看到二进制字段,因为它没有默认小部件。在旧版本的Django中,BinaryFields甚至不可编辑,因为它们通常用于存储原始数据,包括ASCII中未包含的字符。

相关内容

  • 没有找到相关文章

最新更新