Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swappable Models - DjangoCong 2013

xordoquy
September 28, 2013

Swappable Models - DjangoCong 2013

xordoquy

September 28, 2013
Tweet

More Decks by xordoquy

Other Decks in Programming

Transcript

  1. Avant class UserProfile(models.Model): user = models.OneToOneField(User) accepted_eula = models.BooleanField() def

    create_profile(sender, instance, created, **kwargs): if created: UserProfile.objects.create(user=instance) post_save.connect(create_profile, sender=User) models.py
  2. Django 1.5 • python 3 •Custom User model • Support

    des réponses streamées amélioré • Sauvegarde d’un sous ensemble des champs d’un modèle • ...
  3. Mise en place • définir le modèle • créer la

    migration pour le modèle • adapter les formulaires • en profiter
  4. Migrations ? • pas de support de migrations s’il y

    a un ForeignKey vers le modèle d’utilisateur • $ ./manage.py syncdb --all • $ ./manage.py migrate --fake
  5. 1. Refactoring class User(BaseUser): ... ... class AbstractBaseUser(Model): class Meta:

    abstract = True class BaseUser(AbstractBaseUser): class Meta: abstract = True class User(Model)
  6. 2. Touche finale class User(BaseUser): class Meta: if django.VERSION[0:2] >=

    (1, 5): swappable = True def get_XXX_model(): 'Adaptez django.contrib.auth.get_user_model' ...