initial commit

This commit is contained in:
Pirmin Hinderling (fedora)
2026-07-07 13:02:49 +02:00
commit 2c7fb7d030
30 changed files with 1666 additions and 0 deletions
+95
View File
@@ -0,0 +1,95 @@
# 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'],
},
),
]