Initial commit: Django gallery project
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
68
gallery/migrations/0001_initial.py
Normal file
68
gallery/migrations/0001_initial.py
Normal file
@@ -0,0 +1,68 @@
|
||||
# Generated by Django 4.2.0 on 2026-02-05 10:39
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='About',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=200, verbose_name='标题')),
|
||||
('content', models.TextField(verbose_name='内容')),
|
||||
('image', models.ImageField(blank=True, null=True, upload_to='about/', verbose_name='图片')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '关于页面',
|
||||
'verbose_name_plural': '关于页面',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Category',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100, verbose_name='分类名称')),
|
||||
('slug', models.SlugField(blank=True, max_length=100, unique=True, verbose_name='URL标识')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '作品分类',
|
||||
'verbose_name_plural': '作品分类',
|
||||
'ordering': ['name'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Artwork',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=200, verbose_name='作品标题')),
|
||||
('description', models.TextField(blank=True, verbose_name='作品描述')),
|
||||
('slug', models.SlugField(blank=True, max_length=200, unique=True, verbose_name='URL标识')),
|
||||
('image', models.ImageField(upload_to='artworks/%Y/%m/%d/', verbose_name='作品图片')),
|
||||
('thumbnail', models.ImageField(blank=True, null=True, upload_to='thumbnails/%Y/%m/%d/', verbose_name='缩略图')),
|
||||
('order', models.IntegerField(default=0, help_text='数字越小越靠前', verbose_name='排序序号')),
|
||||
('grid_size', models.CharField(choices=[('small', '小 (1x1)'), ('medium', '中 (2x2)'), ('large', '大 (3x3)')], default='medium', help_text='控制首页展示的大小', max_length=10, verbose_name='网格尺寸')),
|
||||
('created_at', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')),
|
||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
('view_count', models.PositiveIntegerField(default=0, verbose_name='浏览次数')),
|
||||
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='gallery.category', verbose_name='作品分类')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '摄影作品',
|
||||
'verbose_name_plural': '摄影作品',
|
||||
'ordering': ['order', '-created_at'],
|
||||
},
|
||||
),
|
||||
]
|
||||
17
gallery/migrations/0002_remove_grid_size.py
Normal file
17
gallery/migrations/0002_remove_grid_size.py
Normal file
@@ -0,0 +1,17 @@
|
||||
# Generated by Django 4.2 on 2026-02-05 04:45
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('gallery', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='artwork',
|
||||
name='grid_size',
|
||||
),
|
||||
]
|
||||
73
gallery/migrations/0003_comment.py
Normal file
73
gallery/migrations/0003_comment.py
Normal file
@@ -0,0 +1,73 @@
|
||||
# Generated by Django 4.2 on 2026-02-16 15:43
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
("gallery", "0002_remove_grid_size"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="Comment",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("text", models.TextField(blank=True, verbose_name="评论内容")),
|
||||
(
|
||||
"image",
|
||||
models.ImageField(
|
||||
blank=True,
|
||||
null=True,
|
||||
upload_to="comments/%Y/%m/%d/",
|
||||
verbose_name="评论图片",
|
||||
),
|
||||
),
|
||||
(
|
||||
"created_at",
|
||||
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
|
||||
),
|
||||
(
|
||||
"updated_at",
|
||||
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
|
||||
),
|
||||
(
|
||||
"is_active",
|
||||
models.BooleanField(default=True, verbose_name="是否有效"),
|
||||
),
|
||||
(
|
||||
"artwork",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="gallery.artwork",
|
||||
verbose_name="作品",
|
||||
),
|
||||
),
|
||||
(
|
||||
"user",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
verbose_name="用户",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "评论",
|
||||
"verbose_name_plural": "评论",
|
||||
"ordering": ["-created_at"],
|
||||
},
|
||||
),
|
||||
]
|
||||
0
gallery/migrations/__init__.py
Normal file
0
gallery/migrations/__init__.py
Normal file
Reference in New Issue
Block a user