User.objects.create() 啥都不做。 (姜戈)

Posted

技术标签:

【中文标题】User.objects.create() 啥都不做。 (姜戈)【英文标题】:User.objects.create() does nothing. (Django)User.objects.create() 什么都不做。 (姜戈) 【发布时间】:2017-08-28 19:57:08 【问题描述】:

我有一个应该为用户注册运行 User.objects.create() 的视图。

User.objects.create(name="request.POST['name']", username="request.POST['username']", password="request.POST['password']")

它显然将条件传递到这段代码中,因为它运行我在它之后放置的重定向。

但是在测试注册时,它只是不会在数据库中创建新条目。它有什么问题?

【问题讨论】:

参数的格式显示它们有问题。 【参考方案1】:

我认为您需要删除双引号。如下所示,

User.objects.create(name=request.POST['name'], username=request.POST['username'], password=request.POST['password'])

【讨论】:

【参考方案2】:

你的参数用引号括起来,这不是你真正想要的。

删除引号以正确访问request.POST 并放入适当的数据:

User.objects.create(name=request.POST['name'], ...)

【讨论】:

【参考方案3】:

像其他人评论的那样,删除 request.POST[........ 周围的引号。

【讨论】:

仅当您使用User(name=...) 创建用户时才需要调用save()。如果您使用User.objects.create(...),则创建和保存只需一步。

以上是关于User.objects.create() 啥都不做。 (姜戈)的主要内容,如果未能解决你的问题,请参考以下文章

DjangoRestFramework - 注册用户:UserSerializer.save() 和 User.objects.create_user() 之间的区别?

DjangoRestFramework - 注册用户:UserSerializer.save() 和 User.objects.create_user() 之间的区别?

使用 User.objects.get_or_create() 在 django 中给出无效的密码格式?

django - transaction

拯救错误啥都不做?

NSfetchRequest 啥都不返回