from django.db import models from django.contrib.auth.models import User class Azienda(models.Model): ''' questa classe definisce le società che gengono gestite dal programma. ogni utente può gestire una o più società. ''' nome = models.CharField(max_length=132,null=False,default="") partitaiva = models.CharField(max_length=11,null=False,default="") mail = models.CharField(max_length=256,null=False,default="") comm=models.CharField(max_length=256,null=False,default="") # email usata come mittente per le comunicazioni class Meta: constraints = [ models.UniqueConstraint(fields=['nome','partitaiva'], name="unique-azienda") ] indexes = [ models.Index(fields=['partitaiva','nome']) ] class Sede(models.Model): ''' 'ogni azienda ha almeno una sede'. ''' nome = models.CharField(max_length=132,null=False,default="") nota = models.CharField(max_length=256,null=False,default="") azienda = azienda = models.ForeignKey(Azienda,on_delete=models.PROTECT) class Assegnazione(models.Model): ''' questa tabella permette le associazioni tra società e Utente semmai, il problema è capire come associare la società all'utente registrato nella security ''' azienda = models.ForeignKey(Azienda,on_delete=models.PROTECT) user = models.ForeignKey(User,on_delete=models.PROTECT) class AssegnazioneSede(models.Model): sede = models.ForeignKey(Sede,on_delete=models.PROTECT) user = models.ForeignKey(User,on_delete=models.PROTECT)