Django:.is_superuser字段不起作用

时间:2015-12-12 02:08:31

标签: python django

我试图通过以下代码将通用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

2 个答案:

答案 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_passwordhttps://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='')