documentazione

master
Guido Longoni 2023-07-12 22:56:09 +02:00
parent fa939a3fdc
commit 0c9c4b3ba7
1 changed files with 27 additions and 1 deletions

View File

@ -2,9 +2,11 @@ from django.db import models
from polymorphic.models import PolymorphicModel
from dati_geo_app.models import AbstractIndirizzo
# --------------- FINE PREFISSO TEMPLATE ---------------
class SoggettoContattabile(PolymorphicModel):
"""
Questa è una classe padre astratta. È utilizzata come base per tutti i soggetti contattabili.
"""
class Meta:
verbose_name = 'soggetto contattabile'
verbose_name_plural = 'soggetti contattabili'
@ -14,6 +16,10 @@ class SoggettoContattabile(PolymorphicModel):
class Recapito(PolymorphicModel):
"""
Questo modello rappresenta i recapiti di contatto di un SoggettoContattabile,
come telefoni, email, fax, ecc.
"""
class Meta:
verbose_name = 'recapito'
verbose_name_plural = 'recapiti'
@ -22,6 +28,11 @@ class Recapito(PolymorphicModel):
blank=False, related_name="contatti")
class PersonaFisica(SoggettoContattabile):
"""
È child polimorfico, come PersonaGiuridica, di SoggettoContattabile e
rappresenta una persone giuridica. Ha, come PersonaGiuridica, campi specifici
per i dettagli dello specifico tipo di persona.
"""
class Meta:
verbose_name = 'persona fisica'
verbose_name_plural = 'persone fisiche'
@ -48,6 +59,11 @@ class PersonaFisica(SoggettoContattabile):
class PersonaGiuridica(SoggettoContattabile):
"""
È child polimorfico, come PersonaFisica, di SoggettoContattabile e
rappresenta una persona fisica. Ha, come PersonaFisica, campi specifici
per i dettagli dello specifico tipo di persona.
"""
class Meta:
verbose_name = 'persona giuridica'
verbose_name_plural = 'persone giuridiche'
@ -126,11 +142,18 @@ class Fax(Recapito):
note = models.CharField(null=False,blank=True,default='', max_length=64)
class Indirizzo(Recapito, AbstractIndirizzo):
"""
Questo modello rappresenta un indirizzo fisico associato a un soggetto contattabile.
Implementa AbstractIndirizzo, lo schema di indirizzi di django_geo_app.
"""
class Meta(AbstractIndirizzo.Meta):
pass
class Sede(Indirizzo):
"""
Questo modello rappresenta una sede fisica di un'azienda.
"""
class Meta:
verbose_name = 'sede'
verbose_name_plural = 'sedi'
@ -181,3 +204,6 @@ class ContattoAziendale(models.Model):
azienda = models.ForeignKey(Societa, on_delete=models.CASCADE, null=False,
blank=False, related_name='contatti_azienda')
is_personale = models.BooleanField(null=False, blank=False, default=True)
# --------------- FINE PREFISSO TEMPLATE ---------------