# Generated by Django 6.0.3 on 2026-03-12 10:50 import datetime import django.db.models.deletion import django_resized.forms from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('django_celery_beat', '0019_alter_periodictasks_options'), ] operations = [ migrations.CreateModel( name='DeviceType', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=64, null=True, verbose_name='Nom du capteur')), ('code', models.SlugField(blank=True, help_text='Max 16 caractères', max_length=16, null=True, unique=True, verbose_name='Type de capteur')), ], options={ 'verbose_name': 'Type de capteur', 'verbose_name_plural': 'Types de capteurs', 'ordering': ['name'], }, ), migrations.CreateModel( name='Device', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.CharField(max_length=100, null=True, verbose_name='Capteur')), ('uuid', models.SlugField(blank=True, help_text='Uuid iot clef unique', max_length=32, null=True, unique=True, verbose_name='Uuid')), ('index', models.SmallIntegerField(default=0, help_text="Numéro d'index", verbose_name='Index')), ('pin_active', models.BooleanField(default=True, help_text="Broche active à l'initialisation", verbose_name='Broche')), ('image', django_resized.forms.ResizedImageField(blank=True, crop=None, default='devices/vanne.png', force_format=None, help_text='Image du capteur', keep_meta=True, null=True, quality=-1, scale=None, size=[320, 240], upload_to='devices/', verbose_name='Image')), ('lifetime', models.DurationField(blank=True, default=datetime.timedelta(seconds=4500), help_text="Durée de l'évènement. Jours hh:mm:ss format", null=True, verbose_name='Durée')), ('heartbeat', models.IntegerField(default=1, help_text='Interrogation du capteur en secondes', verbose_name='Battement')), ('active', models.BooleanField(default=True, verbose_name='Actif')), ('task', models.ForeignKey(help_text='Tâche de démarrage périodique de ce capteur (optionnel)', null=True, on_delete=django.db.models.deletion.CASCADE, to='django_celery_beat.periodictask', verbose_name='Tâche périodique')), ('device_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='relay.devicetype', verbose_name='Type de capteur')), ], options={ 'verbose_name': 'Capteur', 'verbose_name_plural': 'Capteurs', 'ordering': ['index'], }, ), ]