mirror of
https://github.com/boostorg/website-v2.git
synced 2026-02-27 17:42:08 +00:00
Part of #343. The news' notifications module was also changed to the user preferences is honored when sending news emails. Also exclude migrations from the black check.
51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
# Generated by Django 4.2.1 on 2023-06-14 16:51
|
|
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
import users.models
|
|
|
|
|
|
def backfill_preferences(apps, schema_editor):
|
|
User = apps.get_model('users', 'User')
|
|
Preferences = apps.get_model('users', 'Preferences')
|
|
instances = [Preferences(user=u) for u in User.objects.all()]
|
|
Preferences.objects.bulk_create(instances)
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
("users", "0009_user_display_name"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="Preferences",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.AutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"notifications",
|
|
models.JSONField(default=users.models.get_empty_notifications),
|
|
),
|
|
(
|
|
"user",
|
|
models.OneToOneField(
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="preferences",
|
|
to=settings.AUTH_USER_MODEL,
|
|
),
|
|
),
|
|
],
|
|
),
|
|
migrations.RunPython(backfill_preferences, lambda *args, **kwargs: None),
|
|
]
|