Add metadata model & migration

This commit is contained in:
Martin Tan 2023-07-24 01:43:38 +08:00
parent e36096e0eb
commit be450c59d7
2 changed files with 789 additions and 681 deletions

View File

@ -0,0 +1,69 @@
from django.db import migrations, models
import django.utils.timezone
from django.conf import settings
class Migration(migrations.Migration):
dependencies = [
("documents", "1035_rename_comment_note"),
]
operations = [
migrations.CreateModel(
name="Metadata",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"data",
models.JSONField(
blank=True,
help_text="JSON metadata",
verbose_name="data"
),
),
(
"created",
models.DateTimeField(
db_index=True,
default=django.utils.timezone.now,
verbose_name="created",
),
),
(
"document",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="metadatas",
to="documents.document",
verbose_name="document",
),
),
(
"user",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="metadatas",
to=settings.AUTH_USER_MODEL,
verbose_name="user",
),
),
],
options={
"verbose_name": "metadata",
"verbose_name_plural": "metadatas",
"ordering": ("created",),
},
),
]

View File

@ -679,3 +679,42 @@ class Note(models.Model):
def __str__(self):
return self.note
class Metadata(models.Model):
data = models.JSONField(
_("data"),
blank=True,
help_text=_("JSON metadata"),
)
created = models.DateTimeField(
_("created"),
default=timezone.now,
db_index=True,
)
document = models.ForeignKey(
Document,
blank=True,
null=True,
related_name="document",
on_delete=models.CASCADE,
verbose_name=_("document"),
)
user = models.ForeignKey(
User,
blank=True,
null=True,
related_name="metadatas",
on_delete=models.SET_NULL,
verbose_name=_("user"),
)
class Meta:
ordering = ("created",)
verbose_name = _("metadata")
verbose_name_plural = _("metadatas")
def __str__(self):
return self.data