Farklı kullanıcı türlerine izin veren bir Django uygulamasına sahibim: firmalar, yöneticiler, dış kişiler vb. Elbette bunların hepsi varsayılan kimlik doğrulama sistemi ve grupları ile yönetilebilir.Django - Farklı kullanıcı profili profilleri
Sorunum, farklı gruplara ait kullanıcıların farklı ilişkili bilgilere sahip olmalarıdır. Örneğin, şirketlerin özel kullanıcılar için anlamlı olmayan bazı ticari bilgiler sağlaması gerekir. Bu yüzden gruba bağlı olarak farklı türden profiller eklemem gerekiyor. (Uygulama gruplarında karşılıklı olarak özeldir.)
Ne yazık ki, Django yalnızca tek bir modelin bir profil olarak eklenmesine izin verir ve bu model settings.AUTH_PROFILE_MODULE
numaralı belgede bildirilir. Dahili olarak, bu değer temelde sadece bu değeri okuyan ve örneğin, aslında modelin var olduğu bazı kontroller gerçekleştiren User.get_profile()
yöntemi tarafından alınır.
User
alt sınıflarını ve get_profile()
yöntemini geçersiz kılmayı düşünüyordum, böylece gruba bağlı olarak farklı bir model döndürüyor.
Is there a simpler/cleaner way to manage different kind of profiles?
Önerim kullanıcı profilleri Kullanıcı alt sınıfı zorunda kalmamak için tam olarak ortaya çıkmadığını için bu biraz kesmek gibi görünüyor.
Bu en basit yol olarak ortaya çıkıyor. Sorunum şu ki, bu profillerin aslında yönetici tarafından doldurulduğunu garanti etmektir. http://stackoverflow.com/questions/6681464/django-admin-validating-inlines-together-with-main-models – Andrea
Bu Kullanıcı modeli, Django ile birlikte gelen varsayılan bir şey değil mi? Çünkü ben 'NameError: name' User 'tanımlı değil' denediğimde bu –
@JulioMarins Evet, bunu almalısınız: 'django.contrib.auth.models içe aktarma ' – DrTyrsa