【发布时间】:2019-03-19 20:58:10
【问题描述】:
当我尝试在 django 中手动创建新用户时,我正在尝试一些错误
这是我的代码:
from django.contrib.auth.models import User
newuser = User()
newuser.username = request.data['username']
newuser.first_name = request.data['first_name']
newuser.last_name = request.data['last_name']
newuser.email = request.data['email']
newuser.is_active = True
newuser.set_password(request.data['password'])
newuser.full_clean()
newuser.save()
代码能够正确插入用户,我看到数据库中的更改,但是在保存用户后代码中断
File "/usr/local/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 413, in create
obj.save(force_insert=True, using=self.db)
TypeError: save() got an unexpected keyword argument 'force_insert'
我实在想不通是什么问题
【问题讨论】:
-
你使用的是什么版本的 django?
-
嗨,Django 版本 2.1.7,
-
为什么不使用 User.objects.create() 函数?你可以用你需要的所有数据创建一个字典,然后将它传递给这个函数。
-
@JuanMiGabarron -
create()是 OP 正在使用的完全有效代码的快捷方式。
标签: python django django-models