from django.db import models import datetime from utente.models import * from comunicazione.models import * class Documento(models.Model): utente = models.ForeignKey(Utente,on_delete=models.CASCADE) # riferimento all'utente a cui è collegato il documento. 1 Utente, molteplici documenti. documento = models.CharField(max_length=256,null=True,default="") # nome del documento, cosi' come viene caricato storage = models.CharField(max_length=256,null=True,default="") # nome del documento, cosi' come viene salvato dataupload = models.DateField(null=True,default=datetime.date.today) # data di caricamento crc = models.CharField(max_length=256,null=False,default="") # crc del documento (ancora non implementato) descrizione = models.CharField(max_length=128,null=False,default="") # descrizione associata al documento privato = models.BooleanField(null=False,default=False) # se privato==True, il documento è visibile solo all'utente associato e non a responsabili o chi per loro. # fa eccezione gli amministratori con diritti di scrittura e lettura sui documenti (altrimenti come li gestiscono)? def __str__(self): return f"{self.id}: {self.documento}" class Meta: constraints = [ models.UniqueConstraint(fields=['documento'], name="unique-documento") ] #indexes = [ models.Index(fields=['documento','utente']) ]