2013-08-07 63 views
0

我的django項目有一個名爲'accounts'的本地應用程序來管理用戶帳戶。它擁有以accounts_開頭的live和populate db表。它也有一個urls.py項:django軟件包應用程序名稱衝突

(r'^accounts/', include('accounts.urls')), 

現在,我想用Django的allauth以支持OpenID。不過,我注意到,有一個應用程序的名稱衝突,因爲allauth還使用accounts創建數據庫表開始accounts_並要求urls.py包含:

(r'^accounts/', include('allauth.urls')), 

什麼是解決這個應用程序的名稱衝突的最佳方式是什麼?

+0

除非有衝突的目標,否則這兩個應用程序的網址都可以互相協作。 – karthikr

+0

@karthikr,他們如何創建數據庫表?目前我得到'重複鍵值違反唯一約束「django_content_type_pkey」'錯誤。這是因爲django-allauth試圖創建以account_開頭的db表,因爲我的帳戶應用程序已經存在。 – zaphod

+0

噢..我以爲衝突只與網址 – karthikr

回答

0

添加db_table to Meta

class Accounts(models.Model): 
    # ... 
    class Meta: 
     db_table = 'my_accounts' 

關於URL的。你不能同時使用嗎?即:

(r'^accounts/', include('accounts.urls')), 
(r'^accounts/', include('allauth.urls')), 
+0

'accounts'不是一個類,而是一個應用程序名。所以,我曾經在帳戶應用下重命名所有表格。這給了我auth_permission中的數據庫內部錯誤,但可能與此問題正交。謝謝。 – zaphod