2011-05-31 99 views
0

我正在向django admin上的編輯用戶頁面內嵌添加用戶配置文件。到目前爲止,唯一的問題是無論我在「額外」選項中輸入什麼值,頁面始終顯示1個額外用戶配置文件記錄的字段。 我實際上並不想顯示任何額外的記錄,但我無法讓額外的記錄消失。希望有人能夠幫助,這讓我很難過。Django inlinemodeladmin額外選項不工作

下面是代碼:

#admin.py   
class UserProfileInline(admin.StackedInline): 
    model = auth_user_profiles 
    extra = 0 
    raw_id_fields = ('organisation_id','advertiser_id','division_id','rtp_id','person_id','hp_organisation_id') 
    exclude = ('specialist_id',) 

class UserAdmin(admin.ModelAdmin): 
    list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff', 'is_active', 'is_superuser', 'last_login', 'date_joined') 
    list_filter = ('is_staff', 'is_superuser', 'is_active') 
    search_fields = ('username','email','first_name','last_name') 
    inlines = (UserProfileInline,) 

admin.site.unregister(User) 
admin.site.register(User, UserAdmin) 

這是Django文檔相關現貨:https://docs.djangoproject.com/en/1.3/ref/contrib/admin/#inlinemodeladmin-options

謝謝!

回答

2

好的,我現在想通了。真是一個愚蠢的錯誤。

前段時間我升級了我的django版本,但我忘了更新django管理媒體文件。

當我檢查我的apache日誌時,發現了幾個與inline.js和其他幾個文件相關的js erorrs。

用django 1.3包中的更新我的管理員js文件解決了這個問題。

2

您是否嘗試將max_num設置爲1?

如果MAX_NUM的值大於現有相關 對象,最多額外附加的空白 形式將被添加到該formset,所以 只要形式的總數不 不超過數大 max_num

這從docs about model formsets,但它也應該爲InlineAdmin工作。

+0

感謝您的建議,我沒有意識到max_num參數。不幸的是,它沒有幫助,就像額外的參數,它沒有任何區別。我一定在這裏做錯了事,但仍然不知道該怎麼做...... – cybersimon 2011-06-01 00:11:48

+0

即使您將兩個值都設置爲0?我剛剛意識到在你的例子中'extra'被設置爲0。 'max_num'必須小於'extra'(或等於)以防止顯示更多的表單。 – arie 2011-06-01 07:58:27

+0

在這個例子中,只有'max_num'被設置爲1,而'extra'沒有被定義:http://blog.timc3.com/2010/02/18/extending-djangos-user-admin/這可能值得一試。 – arie 2011-06-01 08:05:13