From 72dd3264cc9a178af845fbdbeb2b4b70678e9cca Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Tue, 22 Jan 2019 16:07:10 +0100 Subject: [PATCH] apps: let router control JSON columns post migrations (fixes #29926) --- src/authentic2/apps.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/authentic2/apps.py b/src/authentic2/apps.py index 421d12f1a..e48060c7e 100644 --- a/src/authentic2/apps.py +++ b/src/authentic2/apps.py @@ -3,7 +3,7 @@ import re from django.apps import AppConfig from django.views import debug -from django.db import connection +from django.db import connection, router from django.db.models.signals import post_migrate from . import plugins, compat @@ -13,7 +13,7 @@ class Authentic2Config(AppConfig): name = 'authentic2' verbose_name = 'Authentic2' - def post_migrate_update_json_column(self, sender, **kwargs): + def post_migrate_update_json_column(self, sender, using, **kwargs): # adapted from https://github.com/kbussell/django-jsonfield-compat/blob/4f6ac4bfaea2224559b174b6d16d846b93d125c6/jsonfield_compat/convert.py # MIT License, kbussel if connection.vendor != 'postgresql': @@ -54,6 +54,8 @@ class Authentic2Config(AppConfig): convert_column_to_json(model, column_name) for model in list(sender.get_models()): + if not router.allow_migrate(using, model): + continue convert_model_json_fields(model) def ready(self):