aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/api/migrations
diff options
context:
space:
mode:
authorGravatar kosayoda <[email protected]>2021-07-23 18:58:35 +0800
committerGravatar D0rs4n <[email protected]>2021-12-18 18:02:11 +0100
commitb082de6662e1b57f6831d219b44d95f93ed8a884 (patch)
tree399e94a76d334a82bbb7b3158c8740b4ab935056 /pydis_site/apps/api/migrations
parentMigrate misc field names and help text changes. (diff)
Correct Filter-FilterList relationship.
Instead of a many-many relationship, one filterlist has multiple filters. Nested serialization is read-only by default, so not all CRUD methods are implemented yet for the FilterList viewset.
Diffstat (limited to 'pydis_site/apps/api/migrations')
-rw-r--r--pydis_site/apps/api/migrations/0070_new_filter_schema.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/pydis_site/apps/api/migrations/0070_new_filter_schema.py b/pydis_site/apps/api/migrations/0070_new_filter_schema.py
index 8580033a..237ce7d7 100644
--- a/pydis_site/apps/api/migrations/0070_new_filter_schema.py
+++ b/pydis_site/apps/api/migrations/0070_new_filter_schema.py
@@ -54,17 +54,14 @@ def forward(apps: Apps, schema_editor: BaseDatabaseSchemaEditor) -> None:
list_type=1 if type_ == "ALLOW" else 0
)
- new_objects = []
for object_ in objects:
new_object = filter_.objects.create(
content=object_.content,
+ filter_list = list_,
description=object_.comment or "<no description provided>",
additional_field=None, override=None
)
new_object.save()
- new_objects.append(new_object)
-
- list_.filters.add(*new_objects)
class Migration(migrations.Migration):
@@ -143,7 +140,6 @@ class Migration(migrations.Migration):
('name', models.CharField(help_text='The unique name of this list.', max_length=50)),
('list_type', models.IntegerField(choices=[], help_text='Whenever this list is an allowlist or denylist')),
('default_settings', models.ForeignKey(help_text='Default parameters of this list.', on_delete=django.db.models.deletion.CASCADE, to='api.FilterSettings')),
- ('filters', models.ManyToManyField(help_text='The content of this list.', to='api.Filter', default=[])),
],
),
migrations.AddField(
@@ -151,6 +147,11 @@ class Migration(migrations.Migration):
name='override',
field=models.ForeignKey(help_text='Override the default settings.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='api.FilterOverride'),
),
+ migrations.AddField(
+ model_name='filter',
+ name='filter_list',
+ field=models.ForeignKey(help_text='The filter list containing this filter.', on_delete=django.db.models.deletion.CASCADE, related_name='filters', to='api.FilterList'),
+ ),
migrations.AddConstraint(
model_name='filterlist',
constraint=models.UniqueConstraint(fields=('name', 'list_type'), name='unique_name_type'),