Für bestehende Benutzer wird geprüft, ob eine solche Instanz bereits existiert, und erstellt einen, wenn es nicht ist.
def post_save_create_or_update_profile(sender,**kwargs):
from user_profiles.utils import create_profile_for_new_user
if sender==User and kwargs['instance'].is_authenticate():
profile=None
if not kwargs['created']:
try:
profile=kwargs['instance'].get_profile()
if len(sync_profile_field(kwargs['instance'],profile)):
profile.save()
execpt ObjectDoesNotExist:
pass
if not profile:
profile=created_profile_for_new_user(kwargs['instance'])
if not kwargs['created'] and sender==get_user_profile_model():
kwargs['instance'].user.save()
Signal Gebrauch verbinden:
post_save.connect(post_save_create_or_update_profile)
Wie geht das bei Datenmigrationen vor? – BAE
Die Dokumente, die ich verlinkt habe, erklären, wie eine Datenmigration erstellt wird. – Alasdair