猿问

django 怎么根据字段不同插入数据 表述不清,请看正文

伪代码

class TABLE(models.Model):
    itemA = models.FloatField(default=0)
    itemB = models.FloatField(default=0)

接收到json串

{
'itemA':100,
'itemB':200
}

我后台接收到数据之后。
怎么根据传来字典的对应关系,给相应的字段插入数据呢?

django的ORM,默认支持的是

tableObj = TABLE.objects.id(id=1)
tableObj.itemA = value

我想写成下面这种,可是不好使额。不支持额。

# data为接口接收到的数据
for key,value in data:
    tableObj.key = value
tableObj.save()

现在这么写,超级丑。。。

for key,value in data:
    if key == "itemA":
        tableObj.itemA= value
    elif key == "itemB":
        tableObj.itemB= value
tableObj.save()

请教各位django大神,怎么写优雅点呢。。。

小唯快跑啊
浏览 595回答 3
3回答

弑天下

for key, val in data.items(): if hasattr(tableObj, key): setattr(tableObj, key, val) tableObj.save()
随时随地看视频慕课网APP

相关分类

Python
我要回答