lib.itmens/catalog/music/models.py
2022-12-29 23:57:02 -05:00

50 lines
1.8 KiB
Python

from catalog.common import *
from django.utils.translation import gettext_lazy as _
from django.db import models
class Album(Item):
url_path = "album"
category = ItemCategory.Music
demonstrative = _("这张专辑")
barcode = PrimaryLookupIdDescriptor(IdType.GTIN)
douban_music = PrimaryLookupIdDescriptor(IdType.DoubanMusic)
spotify_album = PrimaryLookupIdDescriptor(IdType.Spotify_Album)
METADATA_COPY_LIST = [
"title",
"other_title",
"album_type",
"media",
"disc_count",
"artist",
"genre",
"release_date",
"duration",
"company",
"track_list",
"brief",
"bandcamp_album_id",
]
release_date = jsondata.DateField(
_("发行日期"), auto_now=False, auto_now_add=False, null=True, blank=True
)
duration = jsondata.IntegerField(_("时长"), null=True, blank=True)
artist = jsondata.ArrayField(
models.CharField(_("artist"), blank=True, default="", max_length=200),
null=True,
blank=True,
default=list,
)
genre = jsondata.CharField(_("流派"), blank=True, default="", max_length=100)
company = jsondata.ArrayField(
models.CharField(blank=True, default="", max_length=500),
null=True,
blank=True,
default=list,
)
track_list = jsondata.TextField(_("曲目"), blank=True, default="")
other_title = jsondata.CharField(blank=True, default="", max_length=500)
album_type = jsondata.CharField(blank=True, default="", max_length=500)
media = jsondata.CharField(blank=True, default="", max_length=500)
bandcamp_album_id = jsondata.CharField(blank=True, default="", max_length=500)
disc_count = jsondata.IntegerField(blank=True, default="", max_length=500)