from django.db import models from django.urls import reverse from adhesions.models import Adhesion, User, Corporation class Profile(models.Model): user = models.OneToOneField(User, related_name='profile', verbose_name='Utilisateur') phone_number = models.CharField(max_length=16, blank=True, default='', verbose_name='Numéro de téléphone') address = models.TextField(blank=True, default='', verbose_name='Adresse') ssh_keys = models.TextField(blank=True, default='', verbose_name='Clefs SSH') notes = models.TextField(blank=True, default='') class Meta: verbose_name = 'profil' @property def adhesions(self): # user and corporations (for which the user is a member) adhesions return Adhesion.objects.filter(models.Q(user__pk=self.user.pk) | models.Q(corporation__members__profile__pk=self.pk)) def __str__(self): return self.user.get_full_name() or self.user.username