实现用户名不区分大小写:Django:默认情况下如何过滤使用username__iexact的用户?
我想含蓄暗示iexact
查询user
时:
user = User.objects.get(username = 'yugal') # Lowercase
user.id # 1
user = User.objects.get(username = 'YUgal') # Mixcase
user.id # 1
我怎样才能做到这一点? {某种方式UserManager
}
注:
- 此外,
django.shortcuts.get_object_or_404
似乎用它作为User.objects.get_query_set().all().get()
。我们如何使它工作?
btw:通常不会更好地将DB中的所有用户名以小写字母存储,并将它们查询为User.objects.get(username ='YuGal'.lower())? – yedpodtrzitko
事情是:'.lower()'是我的代码的解决方案。但不适用于第三方应用程序。因为他们可能没有使用'.lower()' –