Python Django模型变量字段
快速提问。我正在尝试使用变量访问模型的一个字段Python Django模型变量字段,python,django,Python,Django,快速提问。我正在尝试使用变量访问模型的一个字段 class ExampleModel(models.Model): the_field = models.CharField() the_field_two = models.CharField() 如何动态访问该字段?我试过: model = ExampleModel.objects.get(pk=1) fieldtoget = 'the_field' test_var = model[fieldtoget] 但它似乎
class ExampleModel(models.Model):
the_field = models.CharField()
the_field_two = models.CharField()
如何动态访问该字段?我试过:
model = ExampleModel.objects.get(pk=1)
fieldtoget = 'the_field'
test_var = model[fieldtoget]
但它似乎不起作用,你知道我该怎么做吗
更新:我想更新我的问题。我正在尝试编写一个函数(作为更大函数的一部分),它不仅可以获取字段的值,还可以从变量fieldname更新它。例如:
model[fieldtoget] = 'yo'
model.save()
在PHP中,您可以使用{}包装器-$model{$fieldtoget}
-作为示例,因为动态变量名希望python中也有类似的东西:)
干杯您可以使用pythons getattr函数来完成此操作。将字段名作为属性传入
getattr(model, fieldtoget)
由于fieldtoget是一个变量,因此它是动态的
您可以使用setattr以同样的方式进行设置。谢谢您的回复,您能检查我更新的问题吗?干杯太棒了,这让我很开心!我使用setattr()并像个魔术师一样工作。谢谢你的帖子!嘿,如果我想得到嵌套的字段值,
field\uuuufieldtoget
你也可以使用模型的meta属性,该怎么做呢。使用单词model作为ExampleModel的实例变量可能不是一个好主意。这令人困惑。也许使用model_实例可能是更好的选择。