Aucune description

0001_initial.py 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # Generated by Django 4.2.24 on 2025-09-21 09:39
  2. from django.conf import settings
  3. from django.db import migrations, models
  4. import django.db.models.deletion
  5. import markdownfield.models
  6. import mptt.fields
  7. import taggit.managers
  8. class Migration(migrations.Migration):
  9. initial = True
  10. dependencies = [
  11. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  12. ('orgs', '__first__'),
  13. ('taggit', '0006_rename_taggeditem_content_type_object_id_taggit_tagg_content_8fc721_idx'),
  14. ]
  15. operations = [
  16. migrations.CreateModel(
  17. name='PostCategory',
  18. fields=[
  19. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  20. ('name', models.CharField(max_length=120)),
  21. ('slug', models.SlugField(blank=True, max_length=140)),
  22. ('description', models.TextField(blank=True)),
  23. ('created_at', models.DateTimeField(auto_now_add=True)),
  24. ('updated_at', models.DateTimeField(auto_now=True)),
  25. ('lft', models.PositiveIntegerField(editable=False)),
  26. ('rght', models.PositiveIntegerField(editable=False)),
  27. ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)),
  28. ('level', models.PositiveIntegerField(editable=False)),
  29. ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cms_categories', to='orgs.organization')),
  30. ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='cms.postcategory')),
  31. ],
  32. options={
  33. 'ordering': ('tree_id', 'lft', 'name'),
  34. },
  35. ),
  36. migrations.CreateModel(
  37. name='Post',
  38. fields=[
  39. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  40. ('title', models.CharField(max_length=200)),
  41. ('slug', models.SlugField(blank=True, max_length=220)),
  42. ('excerpt', models.TextField(blank=True)),
  43. ('feature_image', models.ImageField(blank=True, null=True, upload_to='posts/feature/%Y/%m/%d/')),
  44. ('content', markdownfield.models.MarkdownField(rendered_field='content_html')),
  45. ('content_html', markdownfield.models.RenderedMarkdownField(null=True)),
  46. ('status', models.CharField(choices=[('draft', 'Draft'), ('published', 'Published')], default='draft', max_length=12)),
  47. ('published_at', models.DateTimeField(blank=True, null=True)),
  48. ('created_at', models.DateTimeField(auto_now_add=True)),
  49. ('updated_at', models.DateTimeField(auto_now=True)),
  50. ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='posts', to=settings.AUTH_USER_MODEL)),
  51. ('category', mptt.fields.TreeForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='posts', to='cms.postcategory')),
  52. ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cms_posts', to='orgs.organization')),
  53. ('tags', taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')),
  54. ],
  55. options={
  56. 'ordering': ('-published_at', '-created_at', '-id'),
  57. },
  58. ),
  59. migrations.AddIndex(
  60. model_name='postcategory',
  61. index=models.Index(fields=['slug'], name='cms_postcat_slug_2a9a66_idx'),
  62. ),
  63. migrations.AddIndex(
  64. model_name='postcategory',
  65. index=models.Index(fields=['tree_id', 'lft'], name='cms_postcategory_tree_id_laed4'),
  66. ),
  67. migrations.AlterUniqueTogether(
  68. name='postcategory',
  69. unique_together={('organization', 'slug')},
  70. ),
  71. migrations.AddIndex(
  72. model_name='post',
  73. index=models.Index(fields=['status', 'published_at'], name='cms_post_status_c7074b_idx'),
  74. ),
  75. migrations.AddIndex(
  76. model_name='post',
  77. index=models.Index(fields=['slug'], name='cms_post_slug_90607d_idx'),
  78. ),
  79. migrations.AlterUniqueTogether(
  80. name='post',
  81. unique_together={('organization', 'slug')},
  82. ),
  83. ]