[scrobbles] Fix a migration and how we save timezones

This commit is contained in:
2024-04-19 10:17:38 -04:00
parent 5cdd12783f
commit b470e7acea
2 changed files with 16 additions and 1 deletions

View File

@ -1,8 +1,19 @@
# Generated by Django 4.2.9 on 2024-04-05 14:39
import json
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):
dependencies = [
@ -10,6 +21,7 @@ class Migration(migrations.Migration):
]
operations = [
migrations.RunPython(convert_log_to_json),
migrations.AlterField(
model_name="scrobble",
name="scrobble_log",

View File

@ -559,7 +559,10 @@ class Scrobble(TimeStampedModel):
self.uuid = uuid4()
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
if self.timestamp: