首页 > 解决方案 > Django 查询创建 - 字段由字符串确定

问题描述

我正在尝试使用带有字符串的 django 创建一个对象:

我的模型:

class Example(models.Model):
    user_id = models.IntegerField(blank=True, null=True)
    field_1 = models.DecimalField(max_digits=15, decimal_places=2, blank=True, null=True)
    field_2 = models.DecimalField(max_digits=15, decimal_places=2, blank=True, null=True)
    field_3 = models.DecimalField(max_digits=15, decimal_places=2, blank=True, null=True)

创建代码:

 real_field = "field_"+str(level)
 example = Example(
                user_id=user_id,
                real_field=value_1,
                ......
 )
 example.save()

如何创建这个..请谢谢..!!

标签: django

解决方案


 real_field = "field_"+str(level)
 example = Example(
                user_id=user_id,
                ......
 )
example.setattr(real_field,value_1)
example.save()

setattr 是你要找的,

或者

 data = {}
 data["field_"+str(level)] = value1
 example = Example(
                user_id=user_id,
                ......,
                **data
 )
 example.save()

推荐阅读