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