Django模型字段由变量

Ben*_*lah 17 python django

快问.我正在尝试使用变量访问模型的一个字段.

class ExampleModel(models.Model):
      the_field = models.CharField()
      the_field_two = models.CharField()
Run Code Online (Sandbox Code Playgroud)

如何动态访问该字段?我试过了:

model = ExampleModel.objects.get(pk=1)
fieldtoget = 'the_field'
test_var = model[fieldtoget]
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用,任何想法我会怎么做?

更新:我想我会更新我的问题.我正在尝试编写一个函数(作为更大函数的一部分),它不仅可以获取字段的值,还可以从变量fieldname更新它.例如:

model[fieldtoget] = 'yo'
model.save()
Run Code Online (Sandbox Code Playgroud)

在PHP中你可以使用{}包装器 - $model{$fieldtoget}作为一个例子,对于动态变量名称希望在python中有类似的东西:)

干杯

Ash*_*uah 40

您可以使用pythons getattr函数来执行此操作.将字段名称作为属性传递.

getattr(model, fieldtoget)
Run Code Online (Sandbox Code Playgroud)

由于fieldtoget是一个变量,因此这是动态的.

您可以使用setattr以相同的方式设置它.