v0.0.7 | 블로그 기능 개선
Some checks failed
Build And Test / build-and-push (push) Failing after 1m1s

- Post 모델 개선 (author_id, updated_at, view_count 등)
- Tag 모델 및 태그 기능 추가
- 댓글 기능 추가
- API 확장

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-15 00:33:05 +09:00
parent e5acf22246
commit 2cc9472c7a
7 changed files with 360 additions and 39 deletions

View File

@ -0,0 +1,44 @@
# Generated by Django 4.2.14 on 2026-01-14 12:59
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('blog', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='post',
options={'ordering': ['-created_at']},
),
migrations.AddField(
model_name='post',
name='author_id',
field=models.CharField(blank=True, default='', max_length=150),
),
migrations.AddField(
model_name='post',
name='updated_at',
field=models.DateTimeField(auto_now=True),
),
migrations.CreateModel(
name='Comment',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('content', models.TextField()),
('author_id', models.CharField(blank=True, default='', max_length=150)),
('author_name', models.CharField(max_length=150)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='replies', to='blog.comment')),
('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='blog.post')),
],
options={
'ordering': ['created_at'],
},
),
]

View File

@ -0,0 +1,29 @@
# Generated by Django 4.2.14 on 2026-01-14 13:19
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('blog', '0002_alter_post_options_post_author_id_post_updated_at_and_more'),
]
operations = [
migrations.CreateModel(
name='Tag',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50, unique=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
],
options={
'ordering': ['name'],
},
),
migrations.AddField(
model_name='post',
name='tags',
field=models.ManyToManyField(blank=True, related_name='posts', to='blog.tag'),
),
]