def save(self, user): # La chambre de l'utilisateur room = Room.objects.get(ticket=self.cleaned_data["ticket"]) # En cas d'occupant précédent, on l'enlève de la chambre try: prev = Presence.objects.get(room=room) prev.room = None prev.save() except Presence.DoesNotExist: pass # On modifie son profil try: p = user.get_profile() except Presence.DoesNotExist: p = Presence(user=user) p.room = room p.save()