482 lines
17 KiB
Python
482 lines
17 KiB
Python
# Generated by Django 3.2.16 on 2023-01-12 01:32
|
|
|
|
import uuid
|
|
|
|
import django.core.validators
|
|
import django.db.models.deletion
|
|
import django.utils.timezone
|
|
import markdownx.models
|
|
from django.db import migrations, models
|
|
|
|
import catalog.common.utils
|
|
import journal.models.mixins
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
initial = True
|
|
|
|
dependencies = [
|
|
("catalog", "0001_initial"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="Piece",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"uid",
|
|
models.UUIDField(db_index=True, default=uuid.uuid4, editable=False),
|
|
),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
"base_manager_name": "objects",
|
|
},
|
|
bases=(models.Model, journal.models.mixins.UserOwnedObjectMixin),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Collection",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
(
|
|
"title",
|
|
models.CharField(default="", max_length=1000, verbose_name="标题"),
|
|
),
|
|
("brief", models.TextField(blank=True, default="", verbose_name="简介")),
|
|
(
|
|
"cover",
|
|
models.ImageField(
|
|
blank=True,
|
|
default="item/default.svg",
|
|
upload_to=catalog.common.utils.item_cover_path,
|
|
),
|
|
),
|
|
("collaborative", models.PositiveSmallIntegerField(default=0)),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="CollectionMember",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
("position", models.PositiveIntegerField()),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Comment",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
("text", models.TextField()),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Like",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
"base_manager_name": "objects",
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Memo",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Rating",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
(
|
|
"grade",
|
|
models.PositiveSmallIntegerField(
|
|
default=0,
|
|
null=True,
|
|
validators=[
|
|
django.core.validators.MaxValueValidator(10),
|
|
django.core.validators.MinValueValidator(1),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Reply",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("title", models.CharField(max_length=500, null=True)),
|
|
("body", markdownx.models.MarkdownxField()),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
"base_manager_name": "objects",
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Review",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
("title", models.CharField(max_length=500)),
|
|
("body", markdownx.models.MarkdownxField()),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Shelf",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
(
|
|
"shelf_type",
|
|
models.CharField(
|
|
choices=[
|
|
("wishlist", "未开始"),
|
|
("progress", "进行中"),
|
|
("complete", "完成"),
|
|
],
|
|
max_length=100,
|
|
),
|
|
),
|
|
],
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="ShelfMember",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
("position", models.PositiveIntegerField()),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="Tag",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
(
|
|
"title",
|
|
models.CharField(
|
|
max_length=100,
|
|
validators=[
|
|
django.core.validators.RegexValidator(
|
|
inverse_match=True, regex="\\s+"
|
|
)
|
|
],
|
|
),
|
|
),
|
|
],
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="TagMember",
|
|
fields=[
|
|
(
|
|
"piece_ptr",
|
|
models.OneToOneField(
|
|
auto_created=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
parent_link=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
to="journal.piece",
|
|
),
|
|
),
|
|
("visibility", models.PositiveSmallIntegerField(default=0)),
|
|
(
|
|
"created_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
(
|
|
"edited_time",
|
|
models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
("metadata", models.JSONField(default=dict)),
|
|
("position", models.PositiveIntegerField()),
|
|
],
|
|
options={
|
|
"abstract": False,
|
|
},
|
|
bases=("journal.piece",),
|
|
),
|
|
migrations.CreateModel(
|
|
name="ShelfLogEntry",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"shelf_type",
|
|
models.CharField(
|
|
choices=[
|
|
("wishlist", "未开始"),
|
|
("progress", "进行中"),
|
|
("complete", "完成"),
|
|
],
|
|
max_length=100,
|
|
null=True,
|
|
),
|
|
),
|
|
("timestamp", models.DateTimeField(default=django.utils.timezone.now)),
|
|
("metadata", models.JSONField(default=dict)),
|
|
("created_time", models.DateTimeField(auto_now_add=True)),
|
|
("edited_time", models.DateTimeField(auto_now=True)),
|
|
(
|
|
"item",
|
|
models.ForeignKey(
|
|
on_delete=django.db.models.deletion.PROTECT, to="catalog.item"
|
|
),
|
|
),
|
|
],
|
|
),
|
|
]
|