Python中文
首页
教程
问答
标签
搜索
登录
注册
Python-无法修改Django Rest Fram中的serializer.data字典
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图添加一个键<code>serializer.data['test'] = 'asdf'</code>,这似乎没有任何作用。</p> <p>我想转换键值的表示形式。为此,我试图使用该值计算新值并替换字典中的旧值。</p> <p>这是我想完成的,但我不知道为什么价值没有被取代。没有抛出错误,生成的字典也没有证据表明我试图替换任何内容:</p> <pre><code>class PlaceDetail(APIView): def get(self, request, pk, format=None): place = Place.objects.select_related().get(pk=pk) serializer = PlaceSerializer(place) #serializer.data['tags'] = pivot_tags(serializer.data['tags']) serializer.data['test'] = 'asdf' print(serializer.data['test']) return Response(serializer.data) </code></pre> <p>终端:<code>KeyError: 'test'</code></p> <p>我通过打印发现<code>serializer.data</code>是一本字典。</p> <p>我还测试了我尝试使用的语法是否应该有效:</p> <pre><code>>>> test = {'a': 'Alpha'} >>> test {'a': 'Alpha'} >>> test['a'] 'Alpha' >>> test['a'] = 'asdf' >>> test {'a': 'asdf'} </code></pre> <p>如何正确修改<code>serializer.data</code>字典?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您需要使用<a href="http://www.django-rest-framework.org/api-guide/fields/#serializermethodfield" rel="nofollow" title="SerializerMethodField">SerializerMethodField</a>而不是显式地覆盖表示。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
plt.savefig不会覆盖现有文件
1 回答
plt.savefig不保存图像
6 回答
plt.savefig在jupyter笔记本中不起作用
3 回答
plt.savefig在从另一个fi调用时停止工作
6 回答
plt.savefig在调用plt.show之前保存空数字
6 回答
plt.save不创建png文件
6 回答
plt.scatter overlay分类数据帧列
9 回答
Plt.Scatter:如何添加title、xlabel和ylab
4 回答
plt.scatter()绘图与Matplotlib中的plt.plot()绘图类似
5 回答
plt.scatter错误'NoneType'对象在成功运行后没有属性'sqrt'
2 回答
plt.set_title()中的标题字符串有误
1 回答
plt.show()
2 回答
plt.show()不在Jupyter笔记本上渲染任何内容
9 回答
plt.show()不打印plt.plot only plt.scatter
4 回答
plt.show()不显示三维散射图像
7 回答
plt.show()不显示任何内容
4 回答
plt.show()不显示数据,而是保留它供下一个图表使用(spyder)
9 回答
plt.show()使终端挂起
7 回答
plt.show()无法使用此代码
9 回答
plt.show()没有打开新的图形风
9 回答