2012-02-12 92 views
2

你可以使用contrib.auth.models.User或任何contrib.auth與Django MongoDB Engine一起?Django的contrib.auth.models.User和Django MongoDB的引擎

我已經MongoDB的引擎配置爲指導和定製機型工作正常,但:

from django.contrib.auth.models import User 
a = User.objects.create_user(username='foo', email='[email protected]', 
          password='foo123bar') 
a.save() 
    ... 
    ERROR: An unexpected error occurred while tokenizing input 
    The following traceback may be corrupted or invalid 
    The error message is: ('EOF in multi-line statement', (5, 0)) 
    ... 

    ValueError: invalid literal for int() with base 10: '4f3757d4eb60261dae000001' 

是否有使用普通用戶模式和身份驗證系統的方式或者說我現在要實現我自己的?

如果目前不支持或未知的領域,莫不是一種方式,用戶存儲在MySQL和我所有的MongoDB發動機的車型都存儲在MongoDB的?

+1

@Purell喬納斯是Django的mongodb的作者,所以按照他的指示:)這樣做的原因是錯誤的Django(香草)具有主鍵爲int,它得到了固定在Django nonrel補丁,並轉換爲字符串。在你的情況下,Django試圖將mongodb對象ID'4f3757d4eb60261dae000001'轉換爲* int *,這會導致問題。 – 2012-02-12 13:20:01

回答

5

您可以使用所有身份驗證系統中,除了任何需要連接(組,權限)。

它看起來像要導入的Django的錯誤的版本(不Django的nonrel,但Django的「香草」)。請確保只有Django-nonrel安裝在您正在使用的virtualenv中,以便導入無法進入錯誤的目錄。

如果不能解決你的問題,一個完整的追溯將是很有益。