See #126: Added uuid field to all music models

This commit is contained in:
Eliot Berriot 2018-04-06 13:17:26 +02:00
parent 87daa81762
commit 679adfe156
No known key found for this signature in database
GPG Key ID: DD6965E2476E5C27
2 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,54 @@
# Generated by Django 2.0.3 on 2018-04-06 11:15
from django.db import migrations, models
import uuid
class Migration(migrations.Migration):
dependencies = [
('music', '0023_auto_20180405_1830'),
]
operations = [
migrations.AddField(
model_name='album',
name='uuid',
field=models.UUIDField(db_index=True, default=uuid.uuid4, unique=True),
),
migrations.AddField(
model_name='artist',
name='uuid',
field=models.UUIDField(db_index=True, default=uuid.uuid4, unique=True),
),
migrations.AddField(
model_name='importbatch',
name='uuid',
field=models.UUIDField(db_index=True, default=uuid.uuid4, unique=True),
),
migrations.AddField(
model_name='importjob',
name='uuid',
field=models.UUIDField(db_index=True, default=uuid.uuid4, unique=True),
),
migrations.AddField(
model_name='lyrics',
name='uuid',
field=models.UUIDField(db_index=True, default=uuid.uuid4, unique=True),
),
migrations.AddField(
model_name='track',
name='uuid',
field=models.UUIDField(db_index=True, default=uuid.uuid4, unique=True),
),
migrations.AddField(
model_name='trackfile',
name='uuid',
field=models.UUIDField(db_index=True, default=uuid.uuid4, unique=True),
),
migrations.AddField(
model_name='work',
name='uuid',
field=models.UUIDField(db_index=True, default=uuid.uuid4, unique=True),
),
]

View File

@ -5,6 +5,7 @@ import datetime
import tempfile import tempfile
import shutil import shutil
import markdown import markdown
import uuid
from django.conf import settings from django.conf import settings
from django.db import models from django.db import models
@ -27,6 +28,8 @@ from . import utils
class APIModelMixin(models.Model): class APIModelMixin(models.Model):
mbid = models.UUIDField(unique=True, db_index=True, null=True, blank=True) mbid = models.UUIDField(unique=True, db_index=True, null=True, blank=True)
uuid = models.UUIDField(
unique=True, db_index=True, default=uuid.uuid4)
api_includes = [] api_includes = []
creation_date = models.DateTimeField(default=timezone.now) creation_date = models.DateTimeField(default=timezone.now)
import_hooks = [] import_hooks = []
@ -269,6 +272,8 @@ class Work(APIModelMixin):
class Lyrics(models.Model): class Lyrics(models.Model):
uuid = models.UUIDField(
unique=True, db_index=True, default=uuid.uuid4)
work = models.ForeignKey( work = models.ForeignKey(
Work, Work,
related_name='lyrics', related_name='lyrics',
@ -396,6 +401,8 @@ class Track(APIModelMixin):
class TrackFile(models.Model): class TrackFile(models.Model):
uuid = models.UUIDField(
unique=True, db_index=True, default=uuid.uuid4)
track = models.ForeignKey( track = models.ForeignKey(
Track, related_name='files', on_delete=models.CASCADE) Track, related_name='files', on_delete=models.CASCADE)
audio_file = models.FileField(upload_to='tracks/%Y/%m/%d', max_length=255) audio_file = models.FileField(upload_to='tracks/%Y/%m/%d', max_length=255)
@ -446,6 +453,8 @@ IMPORT_STATUS_CHOICES = (
) )
class ImportBatch(models.Model): class ImportBatch(models.Model):
uuid = models.UUIDField(
unique=True, db_index=True, default=uuid.uuid4)
IMPORT_BATCH_SOURCES = [ IMPORT_BATCH_SOURCES = [
('api', 'api'), ('api', 'api'),
('shell', 'shell'), ('shell', 'shell'),
@ -490,6 +499,8 @@ class ImportBatch(models.Model):
class ImportJob(models.Model): class ImportJob(models.Model):
uuid = models.UUIDField(
unique=True, db_index=True, default=uuid.uuid4)
batch = models.ForeignKey( batch = models.ForeignKey(
ImportBatch, related_name='jobs', on_delete=models.CASCADE) ImportBatch, related_name='jobs', on_delete=models.CASCADE)
track_file = models.ForeignKey( track_file = models.ForeignKey(