2010-03-05 3 views
7

Я строй сайта, основанный на высоко настроенный экземпляр Джанго администратора, и я бег в проблемы с профилями пользователей в качестве встраиваемого в user_adminDjango администратор - stackedInline один экземпляр

Короче говоря, независимо от того, что я установил для max_num и дополнительно в экземпляре admin.StackedInline он допускает до 2 профилей для каждого пользователя - с пустым по умолчанию, если у пользователя есть существующий профиль

Кто-нибудь знает, как я мог бы настроить это, чтобы показать только один встроенный профиль не прибегая к какому-то JS-интерфейсу?

соответствующий код из: profiles.admin.py

from django.contrib import admin 
from django.contrib.auth.models import User 
from django.contrib.auth.admin import UserAdmin 
from profile.models import user_profile 

class user_profile_admin(admin.StackedInline): 
    model = user_profile 

    fk_name = 'user' 
    max_num = 1 
    extra = 0 

class user_admin_extended(UserAdmin): 
    inlines = [user_profile_admin, ] 

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

ответ

5

Я полагаю, вы используете поле FK для подключения пользователя и профиль? Попробуйте OneToOneField, он должен отобразить только один встроенный администратор.

Смежные вопросы