Files
diario_coversazioni/diario/migrations/0001_initial.py
automationkriz d296353dcb Initial commit: Diario Conversazioni Olimpic Nastri
- Django 5.2 + PostgreSQL + Gunicorn
- Conversazioni, Obiettivi, Documenti PDF, Persone
- Commenti e aggiornamenti con modifica/eliminazione
- Agenda, ricerca live, giorni rimanenti scadenze
- Bootstrap 5 + HTMX + toast notifications
- Deploy: Nginx + Gunicorn + SSL
2026-04-05 14:48:22 +00:00

68 lines
3.4 KiB
Python

# Generated by Django 5.2.12 on 2026-04-01 12:43
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Conversazione',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('titolo', models.CharField(max_length=200)),
('data', models.DateTimeField(auto_now_add=True)),
('contenuto', models.TextField()),
('partecipanti', models.ManyToManyField(blank=True, related_name='conversazioni_partecipate', to=settings.AUTH_USER_MODEL)),
('registrato_da', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='conversazioni_registrate', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Conversazione',
'verbose_name_plural': 'Conversazioni',
'ordering': ['-data'],
},
),
migrations.CreateModel(
name='Obiettivo',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('titolo', models.CharField(max_length=200)),
('descrizione', models.TextField(blank=True)),
('tipo', models.CharField(choices=[('collettivo', 'Collettivo'), ('individuale', 'Individuale')], default='collettivo', max_length=20)),
('stato', models.CharField(choices=[('aperto', 'Aperto'), ('in_corso', 'In corso'), ('completato', 'Completato'), ('sospeso', 'Sospeso')], default='aperto', max_length=20)),
('data_scadenza', models.DateField(blank=True, null=True)),
('data_creazione', models.DateTimeField(auto_now_add=True)),
('assegnato_a', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='obiettivi_assegnati', to=settings.AUTH_USER_MODEL)),
('creato_da', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='obiettivi_creati', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Obiettivo',
'verbose_name_plural': 'Obiettivi',
'ordering': ['-data_creazione'],
},
),
migrations.CreateModel(
name='AggiornamentoObiettivo',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('testo', models.TextField()),
('data', models.DateTimeField(auto_now_add=True)),
('autore', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='aggiornamenti', to=settings.AUTH_USER_MODEL)),
('obiettivo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='aggiornamenti', to='diario.obiettivo')),
],
options={
'verbose_name': 'Aggiornamento',
'verbose_name_plural': 'Aggiornamenti',
'ordering': ['-data'],
},
),
]