我在写一个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']
显然,这是繁琐且容易出错。 URL中的数据与对象的成员具有完全相同的名称,因此它是简单的1对1映射。
理想情况下,我想做些力所能及的事是这样的:
foo = Foo()
foo.update(request.GET)
或诸如此类的话。
谢谢!
蚂蚁提供的解决方案,你想要做什么,但你是如何处理验证和类型转换?或者不关心(我觉得这很难相信)。 – 2009-06-02 15:13:38
他们没有关系。这完全在内部使用,数据插入到一个数据库中(通过验证),然后(在此)插入到另一个数据库中。 – 2009-06-02 16:18:18