diff --git a/articles/migrations/0001_initial.py b/articles/migrations/0001_initial.py new file mode 100644 index 0000000..c08bf10 --- /dev/null +++ b/articles/migrations/0001_initial.py @@ -0,0 +1,72 @@ +# Generated by Django 5.1.6 on 2025-02-16 23:10 + +import django.db.models.deletion +import markdownx.models +import tagulous.models.fields +import tagulous.models.models +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')), + ('title', models.CharField(max_length=40, unique=True)), + ('slug', models.SlugField(max_length=40, unique=True)), + ('introduction', models.TextField(blank=True)), + ], + options={ + 'ordering': ['title'], + }, + ), + migrations.CreateModel( + name='Tagulous_Article_tags', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, unique=True)), + ('slug', models.SlugField()), + ('count', + models.IntegerField(default=0, help_text='Internal counter of how many times this tag is in use')), + ('protected', + models.BooleanField(default=False, help_text='Will not be deleted when the count reaches 0')), + ], + options={ + 'ordering': ('name',), + 'abstract': False, + 'unique_together': {('slug',)}, + }, + bases=(tagulous.models.models.BaseTagModel, models.Model), + ), + migrations.CreateModel( + name='Article', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=200)), + ('subtitle', models.CharField(blank=True, max_length=200, null=True)), + ('slug', models.SlugField(max_length=200, unique=True)), + ('introduction', models.TextField(blank=True)), + ('body', markdownx.models.MarkdownxField()), + ('summary', markdownx.models.MarkdownxField(blank=True)), + ('created', models.DateTimeField(auto_now_add=True)), + ('updated', models.DateTimeField(auto_now_add=True)), + ('is_published', models.BooleanField(default=False)), + ('is_updated', models.BooleanField(default=False)), + ('is_featured', models.BooleanField(default=False)), + ('category', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='articles', + to='articles.category')), + ('tags', tagulous.models.fields.TagField(_set_tag_meta=True, force_lowercase=True, + help_text='Enter a comma-separated tag string', + to='articles.tagulous_article_tags')), + ], + options={ + 'ordering': ['-created'], + }, + ), + ] diff --git a/config/settings.py b/config/settings.py index 0851db1..3bcb6e0 100644 --- a/config/settings.py +++ b/config/settings.py @@ -39,7 +39,8 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - 'articles.apps.ArticlesConfig' + 'articles.apps.ArticlesConfig', + 'markdownx', ] MIDDLEWARE = [