python - 如何使用 Django BinaryField 和 Postgresql Bytea 与 Django Rest Framework 插入图像?
问题描述
我想将图像插入数据库。
我在模型中使用 Django Rest Framework 和 Django BinaryField 并使用 Postgresql Bytea 数据类型。
这是我的代码:
模型.py
class Question(models.Model):
question_id = models.BigAutoField(primary_key=True)
question = models.TextField(default=None, null=True)
question_picture = models.BinaryField(default=None, null=True)
answer = models.CharField(max_length=255)
mc_a = models.CharField(max_length=255)
mc_b = models.CharField(max_length=255)
mc_c = models.CharField(max_length=255)
class Meta:
managed = True
db_table = 'question'
def __str__(self):
return self.question
序列化程序.py
class QuestionSerializer(serializers.ModelSerializer):
class Meta:
model = Question
fields = ('question_id',
'question',
'question_picture',
'answer',
'mc_a',
'mc_b',
'mc_c')
视图.py
@api_view(['POST'])
def question_list(request):
if request.method == 'POST':
question_data = JSONParser().parse(request)
questions_serializer = QuestionSerializer(data=question_data)
if questions_serializer.is_valid():
questions_serializer.save()
return JsonResponse(questions_serializer.data, status=status.HTTP_201_CREATED)
return JsonResponse(questions_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
使用上面我尝试运行以插入数据的代码。当我检查数据库时,question_picture
数据(图像)为空,但其他数据已填充。
如何插入图像以便将其存储在数据库中?
解决方案
你如何将图像发送到 Django?(Base64?)。
我认为这个线程类似于你的Serialize binary field django rest framework
推荐阅读
- java - 将 HOCON 字符串转换为有效 json 字符串的库或算法
- eclipse - Git hub项目_学习)
- typescript - 基于输入字符串的函数响应类型
- mysql - 如何显示具有相同最小值的 SUM(column) 的所有 MIN?
- python - Python Selenium 无法选择搜索栏
- node.js - Node Crypto 加解密算法
- performance - 使用加入多个 df 时的性能问题
- javascript - How to get dynamic array elements from multidimensional array using JavaScript?
- hazelcast - hazelcast管理中心报告找不到主会员
- ios - 在 Swift (iOS) 中从视频创建帧