diff options
| author | 2021-07-23 18:58:35 +0800 | |
|---|---|---|
| committer | 2021-12-18 18:02:11 +0100 | |
| commit | b082de6662e1b57f6831d219b44d95f93ed8a884 (patch) | |
| tree | 399e94a76d334a82bbb7b3158c8740b4ab935056 /pydis_site/apps/api/migrations | |
| parent | Migrate 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.py | 11 |
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'), |