【问题标题】: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']")

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

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

【问题讨论】:

  • 参数的格式显示它们有问题。

标签: python django orm backend


【解决方案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(...),则创建和保存只需一步。
      猜你喜欢
      • 2017-10-15
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 2011-01-27
      • 2016-01-06
      • 2014-06-02
      • 1970-01-01
      相关资源
      最近更新 更多