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() 之间的区别?