Skip to content

Commit

Permalink
fix handling get_table_description in Django 4.1 as well as in DB eng…
Browse files Browse the repository at this point in the history
…ines other than sqlite3
  • Loading branch information
PetrDlouhy committed Sep 21, 2022
1 parent 41d00ff commit b66777e
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions categories/migration.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Adds and removes category relations on the database."""
from django.apps import apps
from django.db import connection, transaction
from django.db import DatabaseError, connection, transaction
from django.db.utils import ProgrammingError


Expand All @@ -25,7 +25,10 @@ def field_exists(app_name, model_name, field_name):
field = model._meta.get_field(field_name)
if hasattr(field, "m2m_db_table"):
m2m_table_name = field.m2m_db_table()
m2m_field_info = connection.introspection.get_table_description(cursor, m2m_table_name)
try:
m2m_field_info = connection.introspection.get_table_description(cursor, m2m_table_name)
except DatabaseError: # Django >= 4.1 throws DatabaseError
m2m_field_info = []
if m2m_field_info:
return True

Expand Down

0 comments on commit b66777e

Please sign in to comment.