在 django 中使用动态字符串作为模型密钥

问题描述 投票:0回答:1

例如我有这样的表格,

class FormSelector(models.Model):
    prefs = models.JSONField(default=dict,null=True, blank=True)
    items = models.JSONField(default=dict,null=True, blank=True)

然后在视图中,我想这样做,

json = {"prefs":[1,2],"items":[2,3,4]}
mo = FormSelector.objects.last()
for key in json: // key is string "prefs","items"
    mo.{key} = di[key] // I want to do the equivalent to mo.prefs , mo.items 

有什么好的方法吗?

python django model
1个回答
0
投票

使用

setattr(…)
 [python-doc]:

对于 json.items() 中的 key、val:
    setattr(mo, key, val)

这里

setattr(x, 'y', z)
相当于
x.y = z

© www.soinside.com 2019 - 2024. All rights reserved.