128 lines
8.1 KiB
Python
128 lines
8.1 KiB
Python
# Generated by Django 5.2.9 on 2026-01-05 22:33
|
||
|
||
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='Tags',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('tag', models.CharField(max_length=254, verbose_name='Post Tagları')),
|
||
('slug', autoslug.fields.AutoSlugField(blank=True, editable=True, max_length=250, populate_from='tag', 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ı')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Post Tagı',
|
||
'verbose_name_plural': 'Post Tagları',
|
||
'db_table': 'tags',
|
||
'ordering': ['-created_at'],
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name='Category',
|
||
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.category', verbose_name='Üst Kategorisi')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Post Kategori',
|
||
'verbose_name_plural': 'Post Kategorilerileri',
|
||
'db_table': '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='c_categories', to='blog.category', 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)),
|
||
('tags', models.ManyToManyField(related_name='tags', to='blog.tags', verbose_name='Post Tagları')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Post',
|
||
'verbose_name_plural': 'Posts',
|
||
'db_table': 'posts',
|
||
'ordering': ['created_at'],
|
||
'unique_together': {('slug',)},
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name='CategoryView',
|
||
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.category')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Kategori Ziyareti',
|
||
'verbose_name_plural': 'Kategori Ziyaretleri',
|
||
'db_table': 'category_views',
|
||
'indexes': [models.Index(fields=['category', 'ip_address', 'created_at'], name='category_vi_categor_234334_idx')],
|
||
},
|
||
),
|
||
migrations.CreateModel(
|
||
name='Comment',
|
||
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.comment')),
|
||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cuser', to=settings.AUTH_USER_MODEL)),
|
||
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='_product', to='blog.post')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Post Yorum',
|
||
'verbose_name_plural': 'Post Yorumları',
|
||
'db_table': 'comments',
|
||
'ordering': ['-created_at'],
|
||
'unique_together': {('slug', 'parent')},
|
||
},
|
||
),
|
||
]
|