2015-12-12 54 views
0

我想要的通用User的Django模型的is_superuser布爾字段設置爲通過下面的代碼True ...Django的:.is_superuser場不工作

User.objects.create(username = 'Randy', email = '[email protected]', password = 'admin', is_superuser = True) 

是否is_superuser領域需要什麼嗎?或者我在做什麼明顯錯誤?

事情我試圖...

1)is_superuser = 'True'

2)is_superuser = 'true'

3)is_superuser = true

4)is_superuser = True

+1

怎麼回事?用戶不保存?或者超級用戶狀態沒有設置? – masnun

回答

5

'True'是一個Python字符串,不是布爾值。它必須是True。你的代碼對我來說非常合適。讓我從我的終端複製粘貼:

>>> from django.contrib.auth.models import User 
>>> user = User.objects.create(username = 'Randy', email = '[email protected]', 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

+0

你是對的。我再次嘗試,它工作得很好..世界上有什麼? –

1
from django.contrib.auth.models import User 

def blah(args): 
    User.objects.create_superuser(username='admin', password='123', email='')