Python Django按通用用户名获取用户\u字段
有没有一种好方法可以让Django用户模型中的用户改为使用通用的Python Django按通用用户名获取用户\u字段,python,django,django-models,Python,Django,Django Models,有没有一种好方法可以让Django用户模型中的用户改为使用通用的USERNAME\u字段进行查询 换句话说,不是: User.objects.get(username='my_User')或User.objects.get(email='User')test@user.com) 我想做一些类似的事情: User.objects.get(User.USERNAME\u字段=a\u USERNAME\u变量) 显然,后者抛出了一个语法错误,但我想问的是,是否有一种方法可以基于默认身份验证后端使用的用
USERNAME\u字段进行查询
换句话说,不是:
User.objects.get(username='my_User')
或User.objects.get(email='User')test@user.com)
我想做一些类似的事情:
User.objects.get(User.USERNAME\u字段=a\u USERNAME\u变量)
显然,后者抛出了一个语法错误
,但我想问的是,是否有一种方法可以基于默认身份验证后端使用的用户名\u字段进行查询:
user = User._default_manager.get_by_natural_key(username_variable)
这基本上是:
user = User.objects.get(**{User.USERNAME_FIELD: username_variable})
我不明白,你的意思是你有一个表单有一个输入字段,你想返回用户他的名字是输入的值吗?我想写一个通用的Django库,它通过基于用户名\u字段
的查询来查找一个用户(来自Django AbstractBaseUser模型)。我不想硬编码用户名
,电子邮件
等。我希望尽可能使其通用,以便它可以与不同型号和不同的用户名_字段
一起工作。太棒了!这就是我要找的。谢谢