initial commit
This commit is contained in:
@@ -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'],
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,33 @@
|
||||
# Generated by Django 5.2.15 on 2026-07-07 10:59
|
||||
|
||||
import claims.models
|
||||
import django.core.validators
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('claims', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='EvidenceFile',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(blank=True, max_length=200, verbose_name='Titel')),
|
||||
('file', models.FileField(help_text='Bilder (JPG, PNG, GIF, WebP, SVG) oder PDF', upload_to=claims.models.evidence_upload_path, validators=[django.core.validators.FileExtensionValidator(allowed_extensions=['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'pdf'])], verbose_name='Datei')),
|
||||
('caption', models.CharField(blank=True, max_length=500, verbose_name='Bildunterschrift')),
|
||||
('order', models.PositiveSmallIntegerField(default=0, verbose_name='Reihenfolge')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Hochgeladen am')),
|
||||
('claim', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='evidence_files', to='claims.claim', verbose_name='Behauptung')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Nachweis',
|
||||
'verbose_name_plural': 'Nachweise',
|
||||
'ordering': ['order', 'id'],
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user