# Generated by Django 6.0 on 2026-01-21 00:59 import autoslug.fields import core.utils import django.db.models.deletion import imagekit.models.fields import tinymce.models from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='PCategory', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=254, verbose_name='Kategori')), ('keywords', models.CharField(max_length=254, verbose_name='Seo Kelimeleri Aralarına Virgül Koyunuz')), ('description', models.CharField(max_length=254, verbose_name='Açıklama')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Oluşturulma Tarihi')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Güncelleme Tarihi')), ('is_active', models.BooleanField(choices=[(True, 'Evet'), (False, 'Hayır')], default=True, verbose_name='Yayındamı')), ('order', models.IntegerField(db_index=True, default=1, verbose_name='Görüntülenme Sırası')), ('slug', autoslug.fields.AutoSlugField(blank=True, editable=True, max_length=250, populate_from='title', unique=True)), ('image', imagekit.models.fields.ProcessedImageField(blank=True, null=True, upload_to=core.utils.UniquePathAndRename('uploads/category'), verbose_name='Resim 630 x 653 Olmali ve Transparan PNG Olmali')), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='child', to='blog.pcategory', verbose_name='Üst Kategorisi')), ], options={ 'verbose_name': 'Post Kategori', 'verbose_name_plural': 'Post Kategorilerileri', 'db_table': 'p_categories', 'ordering': ['order'], 'unique_together': {('slug', 'parent')}, }, ), migrations.CreateModel( name='Post', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=254, verbose_name='Post Başlığı')), ('content', tinymce.models.HTMLField(blank=True, null=True, verbose_name='Post İçeriği')), ('keywords', models.CharField(max_length=254, verbose_name='Seo Kelimeleri Aralarına Virgül Koyunuz')), ('image', imagekit.models.fields.ProcessedImageField(blank=True, null=True, upload_to=core.utils.UniquePathAndRename('uploads/post'))), ('thumb', imagekit.models.fields.ProcessedImageField(blank=True, editable=False, null=True, upload_to=core.utils.UniquePathAndRename('uploads/post/thumb'))), ('video', models.CharField(blank=True, default='none', max_length=254, null=True, verbose_name='Video')), ('slug', autoslug.fields.AutoSlugField(blank=True, editable=True, max_length=250, populate_from='title', unique=True)), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Oluşturulma Tarihi')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Güncelleme Tarihi')), ('is_active', models.BooleanField(choices=[(True, 'Evet'), (False, 'Hayır')], default=True, verbose_name='Yayındamı ?')), ('is_front', models.BooleanField(choices=[(True, 'Evet'), (False, 'Hayır')], default=True, verbose_name='Önde Görünsünmü ?')), ('categories', models.ManyToManyField(related_name='post_categories', to='blog.pcategory', verbose_name='Post Kategorisi')), ('parent', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='child', to='blog.post', verbose_name='Konular')), ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='posts', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Post', 'verbose_name_plural': 'Posts', 'db_table': 'posts', 'ordering': ['created_at'], 'unique_together': {('slug',)}, }, ), migrations.CreateModel( name='PCategoryView', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('ip_address', models.GenericIPAddressField(verbose_name='IP Adresi')), ('user_agent', models.TextField(blank=True, null=True, verbose_name='User Agent')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Ziyaret Tarihi')), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='category_views', to='blog.pcategory')), ], options={ 'verbose_name': 'Kategori Ziyareti', 'verbose_name_plural': 'Kategori Ziyaretleri', 'db_table': 'p_category_views', 'indexes': [models.Index(fields=['category', 'ip_address', 'created_at'], name='p_category__categor_8efae6_idx')], }, ), migrations.CreateModel( name='PComment', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=254, verbose_name='Yorum Başlığı')), ('body', models.TextField(verbose_name='Yorum')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Oluşturulma Tarihi')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Güncelleme Tarihi')), ('is_active', models.BooleanField(choices=[(True, 'Evet'), (False, 'Hayır')], default=True, verbose_name='Yayındamı')), ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='title', unique=True)), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='child', to='blog.pcomment')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='_cuser', to=settings.AUTH_USER_MODEL)), ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='_post', to='blog.post')), ], options={ 'verbose_name': 'Post Yorum', 'verbose_name_plural': 'Post Yorumları', 'db_table': 'p_comments', 'ordering': ['-created_at'], 'unique_together': {('slug', 'parent')}, }, ), ]