96 lines
5.1 KiB
Python
96 lines
5.1 KiB
Python
# Generated by Django 5.2.15 on 2026-07-07 10:32
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Category',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(max_length=200, verbose_name='Name')),
|
|
('slug', models.SlugField(blank=True, max_length=220, unique=True, verbose_name='Slug')),
|
|
('description', models.TextField(verbose_name='Beschreibung')),
|
|
('icon', models.CharField(blank=True, help_text='z. B. bi-thermometer-half', max_length=50, verbose_name='Icon (Bootstrap Icons Klasse)')),
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Erstellt am')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Kategorie',
|
|
'verbose_name_plural': 'Kategorien',
|
|
'ordering': ['name'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Tag',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
|
|
('slug', models.SlugField(blank=True, max_length=120, unique=True, verbose_name='Slug')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Schlagwort',
|
|
'verbose_name_plural': 'Schlagwörter',
|
|
'ordering': ['name'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Claim',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('title', models.CharField(max_length=300, verbose_name='Titel (Behauptung)')),
|
|
('slug', models.SlugField(blank=True, max_length=320, unique=True, verbose_name='Slug')),
|
|
('status', models.CharField(choices=[('falsch', 'Falsch'), ('irrefuehrend', 'Irreführend'), ('teilweise_richtig', 'Teilweise richtig'), ('unbelegt', 'Unbelegt'), ('wissenschaftlicher_konsens', 'Wissenschaftlicher Konsens'), ('offene_frage', 'Offene Frage')], default='unbelegt', max_length=40, verbose_name='Status')),
|
|
('short_answer', models.TextField(verbose_name='Kurzantwort')),
|
|
('detailed_explanation', models.TextField(blank=True, verbose_name='Ausführliche Erklärung')),
|
|
('evidence_level', models.CharField(choices=[('sehr_stark', 'Sehr stark'), ('stark', 'Stark'), ('mittel', 'Mittel'), ('schwach', 'Schwach')], default='mittel', max_length=20, verbose_name='Evidenzlevel')),
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Erstellt am')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Aktualisiert am')),
|
|
('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='claims', to='claims.category', verbose_name='Kategorie')),
|
|
('tags', models.ManyToManyField(blank=True, to='claims.tag', verbose_name='Schlagwörter')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Behauptung',
|
|
'verbose_name_plural': 'Behauptungen',
|
|
'ordering': ['-updated_at'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='CounterArgument',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('argument', models.TextField(verbose_name='Gegenargument')),
|
|
('response', models.TextField(verbose_name='Antwort')),
|
|
('claim', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='counter_arguments', to='claims.claim', verbose_name='Behauptung')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Gegenargument',
|
|
'verbose_name_plural': 'Gegenargumente',
|
|
'ordering': ['id'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Source',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('title', models.CharField(max_length=300, verbose_name='Titel')),
|
|
('organization', models.CharField(max_length=200, verbose_name='Autor/Organisation')),
|
|
('url', models.URLField(max_length=500, verbose_name='Link')),
|
|
('description', models.TextField(blank=True, verbose_name='Beschreibung')),
|
|
('claim', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sources', to='claims.claim', verbose_name='Behauptung')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Quelle',
|
|
'verbose_name_plural': 'Quellen',
|
|
'ordering': ['id'],
|
|
},
|
|
),
|
|
]
|