这是我的模型:
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 中,我可以看到file
和text
字段,但看不到binary
字段。如何查看该字段?
其次,binary
字段的输入数据类型string
,我想将其保存为数据库中的binary
数据。我怎样才能让它工作?
要将str
转换为字节字符串,请对其进行编码:
>>> s = 'hello'
>>> b = s.encode() # default is UTF-8 encoding
>>> b
b'hello'
您可能无法在 UI 中看到二进制字段,因为它没有默认小部件。在旧版本的Django中,BinaryFields甚至不可编辑,因为它们通常用于存储原始数据,包括ASCII中未包含的字符。