# Generated by Django 6.0.5 on 2026-05-08 10:33 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='Entscheidungsregel', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('regelname', models.CharField(max_length=300)), ('beschreibung', models.TextField(blank=True)), ('kategorie', models.CharField(choices=[('ausschlusskriterium', 'Ausschlusskriterium'), ('frist', 'Fristlage'), ('referenz', 'Referenzanforderung'), ('wirtschaftlichkeit', 'Wirtschaftlichkeit'), ('ressourcen', 'Ressourcenverfügbarkeit'), ('sonstiges', 'Sonstiges')], max_length=30)), ('gewichtung', models.DecimalField(decimal_places=2, default=1.0, max_digits=5)), ('bewertungslogik', models.TextField(blank=True)), ('schwellenwert', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True)), ('empfehlung', models.CharField(choices=[('teilnehmen', 'Teilnehmen'), ('nicht_teilnehmen', 'Nicht teilnehmen'), ('pruefen', 'Prüfen')], max_length=20)), ('begruendung', models.TextField(blank=True)), ('gueltig_von', models.DateField(blank=True, null=True)), ('gueltig_bis', models.DateField(blank=True, null=True)), ('aktiv', models.BooleanField(default=True)), ('verantwortlicher', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Entscheidungsregel', 'verbose_name_plural': 'Entscheidungsregeln', 'ordering': ['regelname'], }, ), migrations.CreateModel( name='Leistungsblatt', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('produktfunktion', models.CharField(max_length=300)), ('beschreibung', models.TextField(blank=True)), ('leistungsumfang', models.TextField(blank=True)), ('grenzen_ausschluesse', models.TextField(blank=True)), ('technische_voraussetzungen', models.TextField(blank=True)), ('typische_nachweise', models.TextField(blank=True)), ('version', models.CharField(default='1.0', max_length=20)), ('eigentuemer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Leistungsblatt', 'verbose_name_plural': 'Leistungsblätter', 'ordering': ['produktfunktion'], }, ), migrations.CreateModel( name='Nachweis', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('titel', models.CharField(max_length=300)), ('kurzbeschreibung', models.TextField(blank=True)), ('dokumenttyp', models.CharField(blank=True, max_length=100)), ('kategorie', models.CharField(blank=True, max_length=100)), ('datei', models.FileField(blank=True, null=True, upload_to='nachweise/%Y/')), ('version', models.CharField(default='1.0', max_length=20)), ('status', models.CharField(default='aktiv', max_length=20)), ('gueltig_ab', models.DateField(blank=True, null=True)), ('gueltig_bis', models.DateField(blank=True, null=True)), ('freigabestatus', models.CharField(choices=[('intern_freigegeben', 'Intern freigegeben'), ('extern_freigegeben', 'Extern freigegeben'), ('eingeschraenkt', 'Eingeschränkt'), ('nicht_freigegeben', 'Nicht freigegeben')], default='intern_freigegeben', max_length=30)), ('letzte_pruefung', models.DateField(blank=True, null=True)), ('zugehoerige_standards', models.TextField(blank=True)), ('vertraulichkeit', models.CharField(choices=[('intern', 'Intern'), ('streng_vertraulich', 'Streng vertraulich'), ('oeffentlich', 'Öffentlich')], default='intern', max_length=20)), ('sprache', models.CharField(default='de', max_length=5)), ('fuer_oeffentliche', models.BooleanField(default=True)), ('fuer_privatwirtschaftliche', models.BooleanField(default=True)), ('eigentuemer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='eigene_nachweise', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Nachweis', 'verbose_name_plural': 'Nachweise', 'ordering': ['titel'], }, ), migrations.CreateModel( name='Referenz', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('referenztitel', models.CharField(max_length=400)), ('kunde', models.CharField(max_length=300)), ('branche', models.CharField(blank=True, max_length=200)), ('oeffentlich_oder_privat', models.CharField(blank=True, max_length=20)), ('leistungsbeschreibung', models.TextField(blank=True)), ('eingesetzte_produkte', models.TextField(blank=True)), ('projektzeitraum', models.CharField(blank=True, max_length=100)), ('vertragsvolumen', models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True)), ('ansprechpartner_referenzkunde', models.CharField(blank=True, max_length=200)), ('freigabestatus_verwendung', models.CharField(choices=[('freigegeben', 'Freigegeben'), ('eingeschraenkt', 'Eingeschränkt'), ('nicht_freigegeben', 'Nicht freigegeben')], default='freigegeben', max_length=30)), ('vertraulichkeit', models.CharField(default='intern', max_length=20)), ('whitepaper', models.FileField(blank=True, null=True, upload_to='referenzen/')), ('kurzfassung', models.TextField(blank=True)), ('langfassung', models.TextField(blank=True)), ('verwendbar_fuer_ausschreibungen', models.BooleanField(default=True)), ('einschraenkungen_verwendung', models.TextField(blank=True)), ('leistungsblaetter', models.ManyToManyField(blank=True, to='bibliothek.leistungsblatt')), ], options={ 'verbose_name': 'Referenz', 'verbose_name_plural': 'Referenzen', 'ordering': ['referenztitel'], }, ), ]