From 3832f7b3677caef71e93fd2e8649acff1a7123c2 Mon Sep 17 00:00:00 2001 From: Guido Longoni Date: Wed, 21 Jun 2023 15:26:33 +0200 Subject: [PATCH] Rinominato polymorphic child e scopro che DB VA BUTTATO!! --- .../migrations/0001_initial.py | 2 +- django/contatti_app/admin.py | 54 ++++-- .../contatti_app/migrations/0001_initial.py | 168 +++++++++--------- .../0002_alter_email_indirizzo_email.py | 17 -- .../migrations/0002_alter_recapito_options.py | 16 ++ .../0003_contattoaziendale_and_more.py | 39 ---- ..._delete_personacontattoazienda_and_more.py | 35 ---- django/contatti_app/modello_database.xml | 10 +- django/contatti_app/models.py | 26 +-- django/contatti_app/resources.py | 4 +- django/contatti_app/serializers.py | 4 +- django/contatti_app/urls.py | 2 +- django/contatti_app/views.py | 6 +- django/dati_geo_app/admin.py | 1 + .../migrations/0001_initial.py | 6 +- django/fattura_elettronica_app/models.py | 2 +- django/offerte_app/migrations/0001_initial.py | 8 +- ..._alter_destinatarioofferta_intestatario.py | 25 --- django/sangue_app/migrations/0001_initial.py | 2 +- django/sangue_django/modello_dati.xml | 12 +- 20 files changed, 187 insertions(+), 252 deletions(-) delete mode 100644 django/contatti_app/migrations/0002_alter_email_indirizzo_email.py create mode 100644 django/contatti_app/migrations/0002_alter_recapito_options.py delete mode 100644 django/contatti_app/migrations/0003_contattoaziendale_and_more.py delete mode 100644 django/contatti_app/migrations/0004_delete_personacontattoazienda_and_more.py delete mode 100644 django/offerte_app/migrations/0002_alter_destinatarioofferta_intestatario.py diff --git a/django/business_model_canvas_app/migrations/0001_initial.py b/django/business_model_canvas_app/migrations/0001_initial.py index 5c800c3..e21d01a 100644 --- a/django/business_model_canvas_app/migrations/0001_initial.py +++ b/django/business_model_canvas_app/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.1.7 on 2023-05-14 15:44 +# Generated by Django 4.2.2 on 2023-06-20 21:51 from django.db import migrations, models import django.db.models.deletion diff --git a/django/contatti_app/admin.py b/django/contatti_app/admin.py index 06c4981..32d0d8f 100644 --- a/django/contatti_app/admin.py +++ b/django/contatti_app/admin.py @@ -6,6 +6,7 @@ from django.core.paginator import Paginator from django.db.models import Case, Count, Value, When from django.db.models.functions import Concat from django.db.models import F +from django.contrib.contenttypes.models import ContentType from import_export.admin import ImportExportModelAdmin from polymorphic.admin import (PolymorphicChildModelAdmin, PolymorphicChildModelFilter, @@ -84,24 +85,29 @@ class ContattoAziendaleAdmin(ImportExportModelAdmin): list_display = ('persona','azienda','is_personale') pass - -@admin.register(models.VoceContattoRubrica) -class VoceContattoRubricaAdmin(ImportExportModelAdmin, PolymorphicParentModelAdmin): - # resource = resources.VoceContattoRubricaResource +@admin.register(models.Recapito) +class RecapitoAdmin(ImportExportModelAdmin, PolymorphicParentModelAdmin): + # resource = resources.RecapitoResource # list_per_page = 15 # paginator = CachingPaginator # show_full_result_count = False - base_model = models.VoceContattoRubrica - child_models = (models.Indirizzo, models.Email, models.Pec, models.Telefono, models.Fax,) + base_model = models.Recapito + child_models = (models.Indirizzo, models.Sede, models.Email, models.Pec, models.Telefono, models.Fax,) list_filter = (PolymorphicChildModelFilter,) readonly_fields = ('descrizione','tipo',) - list_display = ('soggetto','descrizione','tipo',) + list_display = ('tipo','soggetto','descrizione',) + list_display_links = ('tipo','descrizione',) def descrizione(self,obj): - return str(getattr(obj,obj.polymorphic_ctype.model)) + attrib = obj.polymorphic_ctype.model + if attrib == 'pec': + attrib = 'email' + if attrib == 'sede': + attrib = 'indirizzo' + return str(getattr(obj,attrib)) def tipo(self, obj): - return getattr(obj,obj.polymorphic_ctype.model)._meta.verbose_name.title() + return obj.polymorphic_ctype.model_class()._meta.verbose_name.title() tipo.admin_order_field = '_tipo' def get_queryset(self, request): @@ -123,20 +129,26 @@ class TelefonoAdmin(HiddenModel, PolymorphicChildModelAdmin): @admin.register(models.Email) -class EmailAdmin(HiddenModel, PolymorphicChildModelAdmin): +class EmailAdmin(HiddenModel, PolymorphicParentModelAdmin, PolymorphicChildModelAdmin): # resource = resources.EmailResource # list_per_page = 15 # paginator = CachingPaginator # show_full_result_count = False + base_model = models.Recapito + child_models = (models.Email, models.Pec,) fields = ('soggetto','indirizzo_email','note',) autocomplete_fields = ('soggetto',) pass -class VoceContattoRubricaInline(StackedPolymorphicInline): +class RecapitoInline(StackedPolymorphicInline): class IndirizzoInline(StackedPolymorphicInline.Child): model = models.Indirizzo - autocomplete_fields = ('comune','cap',) + autocomplete_fields = ('dug','comune','cap','nazione',) + + class SedeInline(StackedPolymorphicInline.Child): + model = models.Sede + autocomplete_fields = ('dug','comune','cap','nazione',) class EmailInline(StackedPolymorphicInline.Child): model = models.Email @@ -150,9 +162,10 @@ class VoceContattoRubricaInline(StackedPolymorphicInline): class FaxInline(StackedPolymorphicInline.Child): model = models.Fax - model = models.VoceContattoRubrica + model = models.Recapito child_inlines = ( IndirizzoInline, + SedeInline, EmailInline, PecInline, TelefonoInline, @@ -169,7 +182,7 @@ class PersonaFisicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModelAdm show_in_index = False get_model_perms = lambda self, req: {} search_fields = ('nome','cognome',) - inlines = (VoceContattoRubricaInline,) + inlines = (RecapitoInline,) pass @@ -181,7 +194,7 @@ class PersonaGiuridicaAdmin(PolymorphicInlineSupportMixin, PolymorphicChildModel # show_full_result_count = False show_in_index = False get_model_perms = lambda self, req: {} - inlines = (VoceContattoRubricaInline,) + inlines = (RecapitoInline,) pass @@ -191,6 +204,8 @@ class SedeAdmin(ImportExportModelAdmin): # list_per_page = 15 # paginator = CachingPaginator # show_full_result_count = False + list_display=('societa','comune','dug','duf',) + autocomplete_fields=('dug','comune','cap','nazione','soggetto','societa',) pass @@ -206,11 +221,12 @@ class FaxAdmin(HiddenModel, PolymorphicChildModelAdmin): @admin.register(models.Pec) -class PecAdmin(ImportExportModelAdmin): +class PecAdmin(HiddenModel, PolymorphicChildModelAdmin): # resource = resources.PecResource # list_per_page = 15 # paginator = CachingPaginator # show_full_result_count = False + base_model = models.Email fields = ('soggetto','indirizzo_email','note',) autocomplete_fields = ('soggetto',) pass @@ -279,11 +295,17 @@ class IndirizzoAdmin(HiddenModel, RicercaOrdinataMixin, AjaxAutocompleteListFilt pass +class SedeInline(admin.TabularInline): + model = models.Sede + autocomplete_fields = ('comune','cap',) + @admin.register(models.Societa) class SocietaAdmin(ImportExportModelAdmin): # resource = resources.SocietaResource # list_per_page = 15 # paginator = CachingPaginator # show_full_result_count = False + inlines = (SedeInline,) search_fields = ('ragione_sociale',) + autocomplete_fields = ('soggetto','nazione',) pass diff --git a/django/contatti_app/migrations/0001_initial.py b/django/contatti_app/migrations/0001_initial.py index 38b99ec..508515d 100644 --- a/django/contatti_app/migrations/0001_initial.py +++ b/django/contatti_app/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.1.7 on 2023-05-14 22:57 +# Generated by Django 4.2.2 on 2023-06-20 21:51 from django.db import migrations, models import django.db.models.deletion @@ -8,11 +8,39 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ("contenttypes", "0002_remove_content_type_name"), ("dati_geo_app", "0007_delete_indirizzo"), + ("contenttypes", "0002_remove_content_type_name"), ] operations = [ + migrations.CreateModel( + name="Recapito", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "polymorphic_ctype", + models.ForeignKey( + editable=False, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="polymorphic_%(app_label)s.%(class)s_set+", + to="contenttypes.contenttype", + ), + ), + ], + options={ + "verbose_name": "contatto di rubrica", + "verbose_name_plural": "contatti di rubrica", + }, + ), migrations.CreateModel( name="SoggettoContattabile", fields=[ @@ -41,77 +69,41 @@ class Migration(migrations.Migration): "verbose_name_plural": "soggetti contattabili", }, ), - migrations.CreateModel( - name="VoceContattoRubrica", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "polymorphic_ctype", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="polymorphic_%(app_label)s.%(class)s_set+", - to="contenttypes.contenttype", - ), - ), - ( - "soggetto", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="contatti", - to="contatti_app.soggettocontattabile", - ), - ), - ], - options={ - "verbose_name": "contatto di rubrica", - "verbose_name_plural": "contatti di rubrica", - }, - ), migrations.CreateModel( name="Email", fields=[ ( - "vocecontattorubrica_ptr", + "recapito_ptr", models.OneToOneField( auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, - to="contatti_app.vocecontattorubrica", + to="contatti_app.recapito", ), ), - ("indirizzo_email", models.CharField(max_length=30)), + ("indirizzo_email", models.EmailField(max_length=254)), ("note", models.CharField(blank=True, default="", max_length=64)), ], options={ "verbose_name": "email", "verbose_name_plural": "email", }, - bases=("contatti_app.vocecontattorubrica",), + bases=("contatti_app.recapito",), ), migrations.CreateModel( name="Fax", fields=[ ( - "vocecontattorubrica_ptr", + "recapito_ptr", models.OneToOneField( auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, - to="contatti_app.vocecontattorubrica", + to="contatti_app.recapito", ), ), ("numero", models.CharField(max_length=20)), @@ -121,20 +113,20 @@ class Migration(migrations.Migration): "verbose_name": "fax", "verbose_name_plural": "fax", }, - bases=("contatti_app.vocecontattorubrica",), + bases=("contatti_app.recapito",), ), migrations.CreateModel( name="Indirizzo", fields=[ ( - "vocecontattorubrica_ptr", + "recapito_ptr", models.OneToOneField( auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, - to="contatti_app.vocecontattorubrica", + to="contatti_app.recapito", ), ), ( @@ -192,7 +184,7 @@ class Migration(migrations.Migration): "verbose_name_plural": "indirizzi", "abstract": False, }, - bases=("contatti_app.vocecontattorubrica", models.Model), + bases=("contatti_app.recapito", models.Model), ), migrations.CreateModel( name="PersonaFisica", @@ -245,14 +237,14 @@ class Migration(migrations.Migration): name="Telefono", fields=[ ( - "vocecontattorubrica_ptr", + "recapito_ptr", models.OneToOneField( auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, - to="contatti_app.vocecontattorubrica", + to="contatti_app.recapito", ), ), ("numero", models.CharField(max_length=20)), @@ -263,7 +255,7 @@ class Migration(migrations.Migration): "verbose_name": "telefono", "verbose_name_plural": "telefono", }, - bases=("contatti_app.vocecontattorubrica",), + bases=("contatti_app.recapito",), ), migrations.CreateModel( name="Societa", @@ -302,6 +294,15 @@ class Migration(migrations.Migration): "verbose_name_plural": "societa", }, ), + migrations.AddField( + model_name="recapito", + name="soggetto", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="contatti", + to="contatti_app.soggettocontattabile", + ), + ), migrations.CreateModel( name="Pec", fields=[ @@ -323,6 +324,41 @@ class Migration(migrations.Migration): }, bases=("contatti_app.email",), ), + migrations.CreateModel( + name="ContattoAziendale", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("is_personale", models.BooleanField(default=True)), + ( + "azienda", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="contatti_azienda", + to="contatti_app.societa", + ), + ), + ( + "persona", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="aziende_correlate", + to="contatti_app.personafisica", + ), + ), + ], + options={ + "verbose_name": "Contatto aziendale", + "verbose_name_plural": "Contatti aziendali", + }, + ), migrations.CreateModel( name="Sede", fields=[ @@ -353,34 +389,4 @@ class Migration(migrations.Migration): }, bases=("contatti_app.indirizzo",), ), - migrations.CreateModel( - name="PersonaContattoAzienda", - fields=[ - ( - "personafisica_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="contatti_app.personafisica", - ), - ), - ("is_personale", models.BooleanField(default=True)), - ( - "azienda", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="persone", - to="contatti_app.societa", - ), - ), - ], - options={ - "verbose_name": "personacontattoazienda", - "verbose_name_plural": "personacontattoazienda", - }, - bases=("contatti_app.personafisica",), - ), ] diff --git a/django/contatti_app/migrations/0002_alter_email_indirizzo_email.py b/django/contatti_app/migrations/0002_alter_email_indirizzo_email.py deleted file mode 100644 index 1535187..0000000 --- a/django/contatti_app/migrations/0002_alter_email_indirizzo_email.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 4.2.2 on 2023-06-20 09:50 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("contatti_app", "0001_initial"), - ] - - operations = [ - migrations.AlterField( - model_name="email", - name="indirizzo_email", - field=models.EmailField(max_length=254), - ), - ] diff --git a/django/contatti_app/migrations/0002_alter_recapito_options.py b/django/contatti_app/migrations/0002_alter_recapito_options.py new file mode 100644 index 0000000..65502ce --- /dev/null +++ b/django/contatti_app/migrations/0002_alter_recapito_options.py @@ -0,0 +1,16 @@ +# Generated by Django 4.2.2 on 2023-06-20 22:00 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("contatti_app", "0001_initial"), + ] + + operations = [ + migrations.AlterModelOptions( + name="recapito", + options={"verbose_name": "recapito", "verbose_name_plural": "recapiti"}, + ), + ] diff --git a/django/contatti_app/migrations/0003_contattoaziendale_and_more.py b/django/contatti_app/migrations/0003_contattoaziendale_and_more.py deleted file mode 100644 index 62f28ee..0000000 --- a/django/contatti_app/migrations/0003_contattoaziendale_and_more.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 4.2.2 on 2023-06-20 13:30 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("contatti_app", "0002_alter_email_indirizzo_email"), - ] - - operations = [ - migrations.CreateModel( - name="ContattoAziendale", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("is_personale", models.BooleanField(default=True)), - ], - options={ - "verbose_name": "Contatto aziendale", - "verbose_name_plural": "Contatti aziendali", - }, - ), - migrations.RemoveField( - model_name="personacontattoazienda", - name="azienda", - ), - migrations.RemoveField( - model_name="personacontattoazienda", - name="personafisica_ptr", - ), - ] diff --git a/django/contatti_app/migrations/0004_delete_personacontattoazienda_and_more.py b/django/contatti_app/migrations/0004_delete_personacontattoazienda_and_more.py deleted file mode 100644 index 4eb1909..0000000 --- a/django/contatti_app/migrations/0004_delete_personacontattoazienda_and_more.py +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Django 4.2.2 on 2023-06-20 13:30 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - dependencies = [ - ("contatti_app", "0003_contattoaziendale_and_more"), - ("offerte_app", "0002_alter_destinatarioofferta_intestatario"), - ] - - operations = [ - migrations.DeleteModel( - name="PersonaContattoAzienda", - ), - migrations.AddField( - model_name="contattoaziendale", - name="azienda", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="contatti_azienda", - to="contatti_app.societa", - ), - ), - migrations.AddField( - model_name="contattoaziendale", - name="persona", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="aziende_correlate", - to="contatti_app.personafisica", - ), - ), - ] diff --git a/django/contatti_app/modello_database.xml b/django/contatti_app/modello_database.xml index 0f52d5d..7c27bb4 100644 --- a/django/contatti_app/modello_database.xml +++ b/django/contatti_app/modello_database.xml @@ -52,7 +52,7 @@ personafisica_ptr - +
INTEGER NULL @@ -67,7 +67,7 @@
INTEGER -NULL +NULL VARCHAR(20) @@ -85,7 +85,7 @@
INTEGER -NULL +NULL VARCHAR(30) @@ -149,7 +149,7 @@
INTEGER -NULL +NULL VARCHAR(20) @@ -181,7 +181,7 @@
INTEGER -NULL +NULL contattorubrica_ptr diff --git a/django/contatti_app/models.py b/django/contatti_app/models.py index fca054c..bfa68b4 100644 --- a/django/contatti_app/models.py +++ b/django/contatti_app/models.py @@ -13,10 +13,10 @@ class SoggettoContattabile(PolymorphicModel): return str(getattr(self,self.polymorphic_ctype.model)) -class VoceContattoRubrica(PolymorphicModel): +class Recapito(PolymorphicModel): class Meta: - verbose_name = 'contatto di rubrica' - verbose_name_plural = 'contatti di rubrica' + verbose_name = 'recapito' + verbose_name_plural = 'recapiti' soggetto = models.ForeignKey(SoggettoContattabile, on_delete=models.CASCADE, null=False, blank=False, related_name="contatti") @@ -64,7 +64,7 @@ class PersonaGiuridica(SoggettoContattabile): denominazione = models.CharField(null=False,blank=False, max_length=80) -class Telefono(VoceContattoRubrica): +class Telefono(Recapito): class Meta: verbose_name = 'telefono' verbose_name_plural = 'telefono' @@ -83,7 +83,7 @@ class Telefono(VoceContattoRubrica): note = models.CharField(null=False,blank=True,default='', max_length=64) -class Email(VoceContattoRubrica): +class Email(Recapito): class Meta: verbose_name = 'email' verbose_name_plural = 'email' @@ -111,7 +111,7 @@ class Pec(Email): -class Fax(VoceContattoRubrica): +class Fax(Recapito): class Meta: verbose_name = 'fax' verbose_name_plural = 'fax' @@ -125,7 +125,7 @@ class Fax(VoceContattoRubrica): numero = models.CharField(null=False,blank=False, max_length=20) note = models.CharField(null=False,blank=True,default='', max_length=64) -class Indirizzo(VoceContattoRubrica, AbstractIndirizzo): +class Indirizzo(Recapito, AbstractIndirizzo): class Meta(AbstractIndirizzo.Meta): pass @@ -136,7 +136,13 @@ class Sede(Indirizzo): verbose_name_plural = 'sedi' def __str__(self): - return f"Sede (id: {self.id})" + out='Sede ' + if self.is_legale: + out+='legale ' + else: + out+='operativa ' + out+=f'di {self.dug} {self.duf} {self.civico}, {self.cap} {self.comune.nome} {self.comune.provincia_id}' + return out societa = models.ForeignKey('Societa', on_delete=models.CASCADE, null=False, blank=False, related_name="sedi") @@ -145,8 +151,8 @@ class Sede(Indirizzo): class Societa(models.Model): class Meta: - verbose_name = 'societa' - verbose_name_plural = 'societa' + verbose_name = 'società' + verbose_name_plural = 'società' def __str__(self): if self.ragione_sociale: diff --git a/django/contatti_app/resources.py b/django/contatti_app/resources.py index ec954e4..abbe634 100644 --- a/django/contatti_app/resources.py +++ b/django/contatti_app/resources.py @@ -9,9 +9,9 @@ class ContattoAziendaleResource(resources.ModelResource): model = models.ContattoAziendale -class VoceContattoRubricaResource(resources.ModelResource): +class RecapitoResource(resources.ModelResource): class Meta: - model = models.VoceContattoRubrica + model = models.Recapito class TelefonoResource(resources.ModelResource): diff --git a/django/contatti_app/serializers.py b/django/contatti_app/serializers.py index dcd5135..79398f6 100644 --- a/django/contatti_app/serializers.py +++ b/django/contatti_app/serializers.py @@ -10,9 +10,9 @@ class ContattoAziendaleSerializer(serializers.ModelSerializer): fields = ('azienda', 'is_personale') -class VoceContattoRubricaSerializer(serializers.ModelSerializer): +class RecapitoSerializer(serializers.ModelSerializer): class Meta: - model = models.VoceContattoRubrica + model = models.Recapito fields = ('soggetto') diff --git a/django/contatti_app/urls.py b/django/contatti_app/urls.py index ebbbde3..d975c4a 100644 --- a/django/contatti_app/urls.py +++ b/django/contatti_app/urls.py @@ -12,7 +12,7 @@ router = routers.DefaultRouter() # --------------- FINE PREFISSO TEMPLATE --------------- router.register(r'ContattoAziendale', views.ContattoAziendale_View) -router.register(r'vocecontattorubrica', views.VoceContattoRubrica_View) +router.register(r'recapito', views.Recapito_View) router.register(r'telefono', views.Telefono_View) router.register(r'email', views.Email_View) router.register(r'personafisica', views.PersonaFisica_View) diff --git a/django/contatti_app/views.py b/django/contatti_app/views.py index 5c87700..107e53e 100644 --- a/django/contatti_app/views.py +++ b/django/contatti_app/views.py @@ -27,12 +27,12 @@ class ContattoAziendale_View(viewsets.ModelViewSet): serializer_class = serializers.ContattoAziendaleSerializer -class VoceContattoRubrica_View(viewsets.ModelViewSet): +class Recapito_View(viewsets.ModelViewSet): # authentication_classes = [BasicAuthentication, SessionAuthentication, TokenAuthentication] # permission_classes = [DjangoModelPermissions] - queryset = models.VoceContattoRubrica.objects.all() - serializer_class = serializers.VoceContattoRubricaSerializer + queryset = models.Recapito.objects.all() + serializer_class = serializers.RecapitoSerializer class Telefono_View(viewsets.ModelViewSet): diff --git a/django/dati_geo_app/admin.py b/django/dati_geo_app/admin.py index 9019974..f99ed61 100644 --- a/django/dati_geo_app/admin.py +++ b/django/dati_geo_app/admin.py @@ -297,4 +297,5 @@ class NazioneAdmin(admin.ModelAdmin): # list_per_page = 15 # paginator = CachingPaginator # show_full_result_count = False + search_fields = ('descrizione','codifica',) pass diff --git a/django/fattura_elettronica_app/migrations/0001_initial.py b/django/fattura_elettronica_app/migrations/0001_initial.py index e0cc2f7..4701448 100644 --- a/django/fattura_elettronica_app/migrations/0001_initial.py +++ b/django/fattura_elettronica_app/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.1.7 on 2023-05-14 22:58 +# Generated by Django 4.2.2 on 2023-06-20 21:51 from django.db import migrations, models import django.db.models.deletion @@ -8,9 +8,9 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ("dati_geo_app", "0007_delete_indirizzo"), ("contatti_app", "0001_initial"), ("contenttypes", "0002_remove_content_type_name"), + ("dati_geo_app", "0007_delete_indirizzo"), ] operations = [ @@ -1022,7 +1022,7 @@ class Migration(migrations.Migration): null=True, on_delete=django.db.models.deletion.CASCADE, related_name="SoggettiFatturaElettronica_da_DatoDiContatto_contatto_cedente_prestatore", - to="contatti_app.vocecontattorubrica", + to="contatti_app.recapito", ), ), migrations.AddField( diff --git a/django/fattura_elettronica_app/models.py b/django/fattura_elettronica_app/models.py index 6032ad7..d44a2ca 100644 --- a/django/fattura_elettronica_app/models.py +++ b/django/fattura_elettronica_app/models.py @@ -137,7 +137,7 @@ class SoggettiFatturaElettronica(models.Model): formato_trasmissione = models.ForeignKey('FormatoTrasmissione', on_delete=models.CASCADE, null=True, blank=True, related_name="SoggettiFatturaElettronica_da_FormatoTrasmissione_formato_trasmissione") - contatto_cedente_prestatore = models.ForeignKey('contatti_app.VoceContattoRubrica', on_delete=models.CASCADE, null=True, + contatto_cedente_prestatore = models.ForeignKey('contatti_app.Recapito', on_delete=models.CASCADE, null=True, blank=True, related_name="SoggettiFatturaElettronica_da_DatoDiContatto_contatto_cedente_prestatore") riferimento_amministrazione = models.CharField(null=True, max_length=20) trasmittente = models.ForeignKey('SoggettoFiscale', on_delete=models.CASCADE, diff --git a/django/offerte_app/migrations/0001_initial.py b/django/offerte_app/migrations/0001_initial.py index 197c02f..b4f92a7 100644 --- a/django/offerte_app/migrations/0001_initial.py +++ b/django/offerte_app/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.1.7 on 2023-05-14 22:58 +# Generated by Django 4.2.2 on 2023-06-20 21:51 from django.db import migrations, models import django.db.models.deletion @@ -9,7 +9,7 @@ class Migration(migrations.Migration): dependencies = [ ("contatti_app", "0001_initial"), - ("fattura_elettronica_app", "__first__"), + ("fattura_elettronica_app", "0001_initial"), ] operations = [ @@ -78,8 +78,8 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, - related_name="DestinatarioOfferta_da_contatti_appPersonaContattoAzienda_intestatario", - to="contatti_app.personacontattoazienda", + related_name="DestinatarioOfferta_da_contatti_appContattoAziendale_intestatario", + to="contatti_app.contattoaziendale", ), ), ], diff --git a/django/offerte_app/migrations/0002_alter_destinatarioofferta_intestatario.py b/django/offerte_app/migrations/0002_alter_destinatarioofferta_intestatario.py deleted file mode 100644 index ea12f9e..0000000 --- a/django/offerte_app/migrations/0002_alter_destinatarioofferta_intestatario.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 4.2.2 on 2023-06-20 13:30 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - dependencies = [ - ("contatti_app", "0003_contattoaziendale_and_more"), - ("offerte_app", "0001_initial"), - ] - - operations = [ - migrations.AlterField( - model_name="destinatarioofferta", - name="intestatario", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="DestinatarioOfferta_da_contatti_appContattoAziendale_intestatario", - to="contatti_app.contattoaziendale", - ), - ), - ] diff --git a/django/sangue_app/migrations/0001_initial.py b/django/sangue_app/migrations/0001_initial.py index 8403f6f..2a00e6c 100644 --- a/django/sangue_app/migrations/0001_initial.py +++ b/django/sangue_app/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.1.7 on 2023-05-14 22:58 +# Generated by Django 4.2.2 on 2023-06-20 21:51 from django.db import migrations, models import django.db.models.deletion diff --git a/django/sangue_django/modello_dati.xml b/django/sangue_django/modello_dati.xml index 272795a..dff4c49 100644 --- a/django/sangue_django/modello_dati.xml +++ b/django/sangue_django/modello_dati.xml @@ -889,7 +889,7 @@ INTEGER -NULL +NULL VARCHAR(20) @@ -1033,7 +1033,7 @@ id
- +
INTEGER NULL @@ -1048,7 +1048,7 @@
INTEGER -NULL +NULL VARCHAR(20) @@ -1066,7 +1066,7 @@
INTEGER -NULL +NULL VARCHAR(30) @@ -1922,7 +1922,7 @@
INTEGER -NULL +NULL VARCHAR(20) @@ -2080,7 +2080,7 @@ INTEGER NULL - + contattorubrica_ptr