2010-03-05 20 views
7

buduję stronę opartą na wysoce dostosowanych instancji Django administratora i jestem z systemem do problemów z profilami użytkowników jako inline do user_adminDjango Admin - stackedInline pojedyncza instancja

długie opowiadanie, niezależnie od tego, jakie ustawić dla MAX_NUM i dodatkowe w instancji admin.StackedInline umożliwia do 2 profili na użytkownika - z pustym domyślnie, jeśli użytkownik ma istniejący profil

ktoś wie, jak mogę to zmienić, aby wyświetlić tylko pojedynczy profil wbudowany bez uciekania się do jakiegoś hackowania JS?

odpowiedni kod z: 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) 

Odpowiedz

5

zakładam, że używasz pola FK połączyć użytkownika i profilu? Wypróbuj OneToOneField, który powinien renderować tylko jeden wbudowany w admin.