Модель Django с множественным наследованием вызывает исключение 'django.core.exceptions.FieldError' при удалении

Я использую django 3.2.

Я пишу социальное приложение, которое требует (делает необходимым) использование множественного наследования. У меня возникла проблема с одной из наследуемых моделей, которая заключается в том, что при наследовании от этой модели я не могу удалить экземпляры производного (дочернего) класса.

Код (только соответствующие части):

Создание SocialObjectDaddy и последующая попытка удаления

from django.contrib.auth import get_user_model as gum                                                                                     
from social.models import SocialObjectDaddy as SOD                                                        

me = gum().objects.get(id=1)                                                                                                       
sod = SOD.objects.create(user=me)                                                                                                               
                                                                                                                                                                                                                                                        
sod.delete() # <- barfs here

Трассировка стека ошибок

Field: social.SocialObjectDaddy.socialmediashares                                 # print statement in deletion.py
Field: social.SocialObjectDaddy.socialmediashares has bulk related fields         # print statement in deletion.py
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/base.py", line 953, in delete
    collector.collect([self], keep_parents=keep_parents)
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/deletion.py", line 320, in collect
    sub_objs = field.bulk_related_objects(new_objs, self.using)
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/contrib/contenttypes/fields.py", line 480, in bulk_related_objects
    return self.remote_field.model._base_manager.db_manager(using).filter(**{
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/query.py", line 941, in filter
    return self._filter_or_exclude(False, args, kwargs)
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/query.py", line 961, in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/query.py", line 968, in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1396, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1415, in _add_q
    child_clause, needed_inner = self.build_filter(
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1289, in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg)
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1115, in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
  File "/path/to/proj-folder/env/lib/python3.8/site-packages/django/db/models/sql/query.py", line 1542, in names_to_path
    raise FieldError("Cannot resolve keyword '%s' into field. "
django.core.exceptions.FieldError: Cannot resolve keyword 'content_type' into field. Choices are: created_at, definition, definition_id, id, socialmediainboundvisit, utr_key

Почему возникает это исключение? - и как мне его исправить.

Возможно, это что-то тривиальное, но я уже несколько дней смотрю на код, так что не помешает еще один взгляд, который укажет, где я ошибаюсь.

Вернуться на верх