Python Django-在queryset对象内以动态方式赋值
我的函数从DB读取数据并返回序列化的JSON数据,我需要在queryset中添加一个dinamic字段 实际上,我在queryset中添加字段时遇到了问题,代码如下:Python Django-在queryset对象内以动态方式赋值,python,django,Python,Django,我的函数从DB读取数据并返回序列化的JSON数据,我需要在queryset中添加一个dinamic字段 实际上,我在queryset中添加字段时遇到了问题,代码如下: def get_sim_list(): t_sim = RD_sim_list.objects.all() for sim in t_sim : sim.sim_assigned = 1 return serializers.serialize('json',t_sim) 当我得到结果值“sim_assign
def get_sim_list():
t_sim = RD_sim_list.objects.all()
for sim in t_sim :
sim.sim_assigned = 1
return serializers.serialize('json',t_sim)
当我得到结果值“sim_assigned”时,t_sim对象作为字段不存在
我错过什么了吗
谢谢大家!
:)我猜django
序列化程序只转换属于django模型对象的字段,但它不会获取任何不属于它的附加信息。因此,您可能需要使用json.dumps
方法手动执行此操作。Django提供的默认序列化程序可能会检查模型并确定哪些字段需要序列化。如果要添加自定义属性,序列化程序可能无法识别该属性
我看到两种选择:
编写一个自定义序列化程序并使用它
在查询集上使用.values()
方法,并在该查询集上使用json.dumps()
选项2的示例:
import json
t_sim = RD_sim_list.objects.values()
for sim in t_sim :
sim['sim_assigned'] = 1
return json.dumps(t_sim)
请注意,如果您的模型包含的字段的值不能立即转换为JSON(例如,对其他模型的引用),您可能会遇到错误