Initial commit: 日记系统
完整的日记记录系统 - Django 后端 (diary app) - 前端页面 - 部署脚本 (本地 + 云端) - Nginx 配置 - 数据迁移和同步工具
This commit is contained in:
52
backend/diary/migrations/0001_initial.py
Executable file
52
backend/diary/migrations/0001_initial.py
Executable file
@@ -0,0 +1,52 @@
|
||||
# Generated by Django 4.2.11 on 2026-04-14 08:19
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='DiaryEntry',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('date', models.DateField(unique=True, verbose_name='日期')),
|
||||
('title', models.CharField(default='每日日记', max_length=200, verbose_name='标题')),
|
||||
('completed_tasks', models.TextField(blank=True, default='', verbose_name='完成的任务')),
|
||||
('learned', models.TextField(blank=True, default='', verbose_name='学到的东西')),
|
||||
('problems', models.TextField(blank=True, default='', verbose_name='遇到的问题和解决方案')),
|
||||
('reflections', models.TextField(blank=True, default='', verbose_name='想法和反思')),
|
||||
('improvements', models.TextField(blank=True, default='', verbose_name='进步点')),
|
||||
('plans', models.TextField(blank=True, default='', 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': '日记',
|
||||
'ordering': ['-date'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='DailyProgress',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('category', models.CharField(max_length=50, verbose_name='类别')),
|
||||
('description', models.TextField(verbose_name='描述')),
|
||||
('progress_percent', models.IntegerField(default=0, verbose_name='进度百分比')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='progresses', to='diary.diaryentry')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '进度',
|
||||
'verbose_name_plural': '进度',
|
||||
'ordering': ['-created_at'],
|
||||
},
|
||||
),
|
||||
]
|
||||
31
backend/diary/migrations/0002_experience.py
Normal file
31
backend/diary/migrations/0002_experience.py
Normal file
@@ -0,0 +1,31 @@
|
||||
# Generated by Django 4.2.11 on 2026-04-14 08:48
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('diary', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Experience',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=200, verbose_name='标题')),
|
||||
('category', models.CharField(choices=[('deployment', '📦 部署'), ('development', '💻 开发'), ('database', '🗄️ 数据库'), ('permission', '🔐 权限'), ('network', '🌐 网络'), ('other', '其他')], max_length=50, verbose_name='类别')),
|
||||
('problem', models.TextField(verbose_name='问题描述')),
|
||||
('solution', models.TextField(verbose_name='解决方案')),
|
||||
('lesson_learned', models.TextField(blank=True, default='', verbose_name='经验教训')),
|
||||
('date', models.DateField(auto_now_add=True, verbose_name='日期')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '经验总结',
|
||||
'verbose_name_plural': '经验总结',
|
||||
'ordering': ['-date', '-created_at'],
|
||||
},
|
||||
),
|
||||
]
|
||||
0
backend/diary/migrations/__init__.py
Executable file
0
backend/diary/migrations/__init__.py
Executable file
Reference in New Issue
Block a user