2014-09-20 44 views
3

我正在使用django 1.7的項目工作。我做了一個遷移文件,並且希望使用用戶的方法,如user.get_first_name(),並返回django 1.7遷移文件無法使用用戶方法

AttributeError: 'User' object has no attribute 'get_full_name' 

我進口from django.contrib.auth.models import User,但我不認爲它的原因。

順便說一句,我用pdb來調試它。我發現我可以使用用戶的文件,如user.first_nameuser.username,但是所有用戶返回的方法都沒有屬性。

我錯過了什麼嗎?或者我錯用了一些東西?

+0

該方法適用於用戶模型實例。你在哪裏打電話? – elmonkeylp 2014-09-20 03:28:26

+0

我使用一個叫做user的用戶實例來調用。 user.get_full_name() – Hunter1010 2014-09-20 18:30:38

+0

我有類似的問題。我想調用'set_password'方法,但失敗了。同樣的錯誤。我用'User = apps.get_registered_model('auth','User')'。 – swietyy 2015-03-23 18:20:55

回答

0

嗯,這個方法返回"%s %s" % (self.first_name, self.last_name)。所以,也許使用:

def my_get_full_name(user): 
    return "%s %s" % (user.first_name, user.last_name) 

full_name = my_get_full_name(user) 

我有一個類似的問題。我需要一個set_password方法。但是,我發現這種方法使用make_password功能從django.contrib.auth.hashers。所以,user.password = make_password('pass')的作品。

+1

謝謝!我手動編寫了一個方法來處理它。只是好奇,爲什麼不能直接使用它? – Hunter1010 2015-03-23 23:03:15