in django per impostazione predefinita quando syncdb viene eseguito con django.contrib.auth installato, crea le autorizzazioni predefinite per ogni modello ... come foo.can_change, foo.can_delete e foo.can_add. Per aggiungere permessi personalizzati ai modelli si può aggiungere la classe Meta: sotto il modello e definire le autorizzazioni lì, come spiegato qui https://docs.djangoproject.com/en/dev/topics/auth/#custom-permissionsCome aggiungere permessi personalizzati al modello User in django?
La mia domanda è che cosa devo fare se voglio aggiungere un'autorizzazione personalizzata al modello Utente? come foo.can_view. Potrei farlo con il seguente frammento,
ct = ContentType.objects.get(app_label='auth', model='user')
perm = Permission.objects.create(codename='can_view', name='Can View Users',
content_type=ct)
perm.save()
Ma voglio qualcosa che gioca bene con syncdb, ad esempio, la Meta di classe sotto i miei modelli personalizzati. Dovrei avere questi in classe Meta: sotto UserProfile dato che è il modo di estendere il modello utente. ma è il modo giusto per farlo? Non lo legherebbe al modello UserProfile?
Si può fare nella migrazione modello: http://stackoverflow.com/a/32706020/538284 –