lib.itmens/catalog/music/models.py

39 lines
1.7 KiB
Python
Raw Normal View History

from catalog.common import *
2022-12-16 01:08:10 -05:00
from django.utils.translation import gettext_lazy as _
from django.db import models
class Album(Item):
2022-12-12 16:46:37 +00:00
url_path = 'album'
2022-12-11 23:20:28 +00:00
category = ItemCategory.Music
2022-12-16 01:08:10 -05:00
demonstrative = _('这张专辑')
2022-12-08 15:45:37 +00:00
barcode = PrimaryLookupIdDescriptor(IdType.GTIN)
douban_music = PrimaryLookupIdDescriptor(IdType.DoubanMusic)
spotify_album = PrimaryLookupIdDescriptor(IdType.Spotify_Album)
2022-12-16 01:08:10 -05:00
METADATA_COPY_LIST = [
'title',
'other_title',
'album_type',
'media',
'disc_count',
'artist',
'genre',
'release_date',
'duration',
'company',
'track_list',
'brief',
2022-12-16 08:34:33 -05:00
'bandcamp_album_id',
2022-12-16 01:08:10 -05:00
]
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)
2022-12-16 08:34:33 -05:00
bandcamp_album_id = jsondata.CharField(blank=True, default='', max_length=500)
2022-12-16 01:08:10 -05:00
disc_count = jsondata.IntegerField(blank=True, default='', max_length=500)