models.py 1.3 KB

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