我正在编写一个执行各种功能的Django应用程序,包括通过URL插入或更新新记录到数据库中.
因此,一些内部应用程序会发送请求/import/?a=1&b=2&c=3
,例如.在视图中,我想创建一个新对象,foo = Foo()
并将成员foo
设置为request.GET字典中的数据.
这是我现在正在做的事情:
/import/?a=1&b=2&c=3
foo = Foo()
这是我到目前为止所得到的:
foo.a = request['a']
foo.b = request['b']
foo.c = request['c']
Run Code Online (Sandbox Code Playgroud)
显然这很乏味且容易出错.URL中的数据与对象的成员具有完全相同的名称,因此它是一个简单的1对1映射.
理想情况下,我希望能够做到这样的事情:
foo = Foo()
foo.update(request.GET)
Run Code Online (Sandbox Code Playgroud)
或者那种效果.
谢谢!
Ant*_*sma 19
您可以使用setattr函数动态设置属性:
for key,value in request.GET.items():
setattr(foo, key, value)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7553 次 |
最近记录: |