Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python,django-我可以在视图中直接调用save吗?我有一个数组,从中只需要保存一些密钥,所以是自动还是手动?_Python_Django - Fatal编程技术网

python,django-我可以在视图中直接调用save吗?我有一个数组,从中只需要保存一些密钥,所以是自动还是手动?

python,django-我可以在视图中直接调用save吗?我有一个数组,从中只需要保存一些密钥,所以是自动还是手动?,python,django,Python,Django,我是python Django的初学者。我有一个json格式的字符串,比如 jsondict = {"name": "value", "pwd": "pwdvalue", "email": "email@gmail.com"} 我使用json.loads(str)将其转换为dict 从上面的dict中,我只想保存name和pwd以及除一些键之外的许多其他内容。因此,我在视图中是这样做的: u=users(name=jsondict['name'], pwd=jsondict['pwd'])

我是python Django的初学者。我有一个json格式的字符串,比如

jsondict = {"name": "value", "pwd": "pwdvalue", "email": "email@gmail.com"}  
我使用json.loads(str)将其转换为dict

从上面的dict中,我只想保存name和pwd以及除一些键之外的许多其他内容。因此,我在视图中是这样做的:

u=users(name=jsondict['name'], pwd=jsondict['pwd'])
u.save()
我的代码质量好吗?或者我需要用其他方式来获得好的质量。
在我的问题中,从某种意义上说,是自动的还是手动的,我必须直接插入一些指令,还是手动地按照代码中显示的方式插入?
如有必要,将提供更多信息

谢谢

这里的一个选项是过滤您的dict,然后使用
**
将其解压缩为关键字参数

user_fields = {"name", "pwd"}
jsondict= {"name":"value","pwd":"pwdvalue","email":"email@gmail.com"}
userdict = {key: value for (key, value) in jsondict.items() if key in user_fields}
u = users(**userdict)

我们使用a来过滤除所需值以外的所有内容(存储在set
user\u字段中)。

谢谢您的回答。下一行是u.save()?在不为save()编写自定义方法的情况下,这是否有效?这完全取决于Django以及
users()
是什么。这不会影响类的运行方式。如果你想让它像你以前的代码一样工作,是的,你需要做
u.save()
。或者,根据Burhan Khalid的评论,显然
u=User.objects.create(**userdict)
。如果你简单地做:User(**jsondict)@jgomo3:你会从一个意外的关键字参数中得到一个类型错误。