我试图通过以下代码将通用is_superuser
Django模型的User
的布尔字段设置为True
...
User.objects.create(username = 'Randy', email = 'randy@gmail.com', password = 'admin', is_superuser = True)
is_superuser
字段是否需要其他内容?或者我做了明显错误的事情?
我尝试过的事情......
1)is_superuser = 'True'
2)is_superuser = 'true'
3)is_superuser = true
4)is_superuser = True
答案 0 :(得分:5)
'True'
是一个Python字符串,不是布尔值。它必须是True
。您的代码对我来说非常合适。让我从我的终端复制粘贴:
>>> from django.contrib.auth.models import User
>>> user = User.objects.create(username = 'Randy', email = 'randy@gmail.com', password = 'admin', is_superuser = True)
>>> user
<User: Randy>
>>> user.is_superuser
True
>>>
但是我看到你使用了纯文本密码。对于此类情况,请使用make_password
:
https://docs.djangoproject.com/en/1.9/topics/auth/passwords/#django.contrib.auth.hashers.make_password
答案 1 :(得分:1)
from django.contrib.auth.models import User
def blah(args):
User.objects.create_superuser(username='admin', password='123', email='')