django - Django REST 框架。如何创建两个具有不同值的相同标签?
问题描述
另一个我不明白如何解决的Django REST 框架问题?有两个对象image_1和image_2。
在serializers.py中:
class someClass(serializers.ModelSerializer):
image_1 = serializers.ImageField(source='image_1')
image_2 = serializers.ImageField(source='image_2')
class Meta:
model = onlyimage
fields = ['image_1', 'image_2']
在输出中,我得到:
<image_1>https://domain-name.com/media/image_1</image_1>
<image_2>https://domain-name.com/media/image_2</image_2>
我想要标签不被编号,如下例所示:
<image>https://domain-name.com/media/image_1</image>
<image>https://domain-name.com/media/image_2</image>
但是如果你在serializers.py中进行更改,当然会发生错误:
class someClass(serializers.ModelSerializer):
image = serializers.ImageField(source='image_1')
image = serializers.ImageField(source='image_2')
class Meta:
model = onlyimage
fields = ['image', 'image']
解决方案
看来您正在尝试使用序列化程序来生成 HTML,所以简短的回答是您不能以这种方式使用序列化。
文档说:
序列化器允许将复杂数据(例如查询集和模型实例)转换为原生 Python 数据类型,然后可以轻松地将其呈现为 JSON、XML 或其他内容类型。
虽然它说“......或其他内容类型”。序列化的使用是将您的模型转换为简单的数据流进行传输,然后,重要的是反序列化。
根据定义,模型中的字段必须是唯一的。如果您的序列化模型有两个都称为<image>
反序列化过程的字段,则将不知道您的哪一点数据放在哪里。
如果没有更多关于您实际尝试使用模型做什么的信息,就很难提出另一种方法。
推荐阅读
- r - 如何使用 Loops 或 Lapply 从矩阵中生成 100 个新变量?
- node.js - 如何从另一个创建 POST localhost 的应用程序中侦听或获取 React 应用程序中的 json?
- javascript - 如何在android中将javascript localstorage.setItem注入webview?
- javascript - 如何使用 FormData() 从 React Js 向 Nodejs、MongoDB 发送对象数组?
- python - Python3 - 如何在 pygame 混音器中改变声音的音量
- python - TypeError:在Python中没有初始值的空序列的reduce()
- android - 如何从适配器获取上下文片段
- scala - Spark streaming 2.4.0 获取 org.apache.spark.sql.AnalysisException:找不到数据源:kafka
- javascript - 如何创建一个独立的潜水元素?弹出时没有工具栏或浏览器的图标
- python - 如何在 django 中制作子页面 url