[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
|
||||
|
||||
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",
|
||||
|
||||
@ -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:
|
||||
|
||||
Reference in New Issue
Block a user