[scrobbles] Fix a migration and how we save timezones
This commit is contained in:
@ -1,8 +1,19 @@
|
|||||||
# Generated by Django 4.2.9 on 2024-04-05 14:39
|
# Generated by Django 4.2.9 on 2024-04-05 14:39
|
||||||
|
|
||||||
|
import json
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
def convert_log_to_json(apps, schema_editor):
|
||||||
|
Scrobble = apps.get_model("scrobbles", "Scrobble")
|
||||||
|
for s in Scrobble.objects.filter(scrobble_log__isnull=False):
|
||||||
|
try:
|
||||||
|
s.scrobble_log = json.loads(s.scrobble_log)
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
s.scrobble_log = json.dumps({"migrated_data": s.scrobble_log})
|
||||||
|
s.save(update_fields=["scrobble_log"])
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
@ -10,6 +21,7 @@ class Migration(migrations.Migration):
|
|||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
migrations.RunPython(convert_log_to_json),
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name="scrobble",
|
model_name="scrobble",
|
||||||
name="scrobble_log",
|
name="scrobble_log",
|
||||||
|
|||||||
@ -559,7 +559,10 @@ class Scrobble(TimeStampedModel):
|
|||||||
self.uuid = uuid4()
|
self.uuid = uuid4()
|
||||||
|
|
||||||
if not self.timezone:
|
if not self.timezone:
|
||||||
self.timezone = self.user.profile.timezone
|
timezone = settings.TIME_ZONE
|
||||||
|
if self.user.profile:
|
||||||
|
timezone = self.user.profile.timezone
|
||||||
|
self.timzeone = timezone
|
||||||
|
|
||||||
# Microseconds mess up Django's filtering, and we don't need be that specific
|
# Microseconds mess up Django's filtering, and we don't need be that specific
|
||||||
if self.timestamp:
|
if self.timestamp:
|
||||||
|
|||||||
Reference in New Issue
Block a user