gpt4 book ai didi

python - 如何使用变量作为字段名称以便在 Django 中动态更新对象

转载 作者:行者123 更新时间:2023-12-05 02:35:24 26 4
gpt4 key购买 nike

Django 应用程序中的以下模型中有三个字段,仅作为示例。

    class MyModel(models.Model):

field1 = models.IntegerField(default=0, blank=False,null=False)
field2 = models.IntegerField(default=0, blank=False,null=False)
field3 = models.IntegerField(default=0, blank=False,null=False)

为了更新多个字段,我想使用变量“target_field”而不是使用每个字段的名称。

    for i in (1,3):
target_field = "field{0}".format(i)
sample_value = some_list[i]

sample_object = get_object_or_404(MyModel, id=sample_d)
sample_object.target_field = sample_value # this couldn't work.
sample_object.save()

在上述代码中,“target_field”未被识别为字段名称。

最佳答案

您可以像设置类的任何其他属性一样设置模型的字段:

for i in (1,3):
target_field = "field{0}".format(i)
sample_value = some_list[i]

sample_object = get_object_or_404(MyModel, id=sample_d)
setattr(sample_object, target_field, sample_value)
sample_object.save()

关于python - 如何使用变量作为字段名称以便在 Django 中动态更新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70575295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com