快问.我正在尝试使用变量访问模型的一个字段.
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以相同的方式设置它.
| 归档时间: |
|
| 查看次数: |
11090 次 |
| 最近记录: |