gpt4 book ai didi

python - 如何使用字典更新对象的成员?

转载 作者:太空狗 更新时间:2023-10-29 17:56:04 25 4
gpt4 key购买 nike

我正在编写一个 Django 应用程序来执行各种功能,包括通过 URL 将新记录插入或更新到数据库中。

例如,一些内部应用程序向 /import/?a=1&b=2&c=3 发送请求。在 View 中,我想创建一个新对象 foo = Foo() 并将 foo 的成员设置为 request.GET 字典中的数据。

这是我现在正在做的:

  1. 请求已发送至 /import/?a=1&b=2&c=3
  2. View 创建新对象:foo = Foo()
  3. 对象用数据更新。

这是我到目前为止得到的:

foo.a = request['a']
foo.b = request['b']
foo.c = request['c']

显然,这是乏味且容易出错的。 URL 中的数据与对象的成员具有完全相同的名称,因此它是一个简单的一对一映射。

理想情况下,我希望能够做这样的事情:

foo = Foo()
foo.update(request.GET)

或类似的东西。

谢谢!

最佳答案

可以使用setattr函数动态设置属性:

for key,value in request.GET.items():
setattr(foo, key, value)

关于python - 如何使用字典更新对象的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/940089/

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