Невозможно присвоить "<built-in function cmp_to_key>": "Foo.content_type" должен быть экземпляром "ContentType"

Я использую Django 4.0.6

У меня есть такая модель:

class AnonymousInteractionMonitor(models.Model):
    content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE,
                                     related_name='%(app_label)s_%(class)s_content_types',
                                     related_query_name='%(app_label)s_%(class)s_content_type')
    object_id = models.PositiveIntegerField()    
    content_object = GenericForeignKey('content_type', 'object_id')
    interaction_type = models.PositiveSmallIntegerField(choices=Engagement.ENGAGEMENT_TYPES, null=False)
    visitor_ip = models.GenericIPAddressField(db_index=True)
    created_at = models.DateTimeField(auto_now_add=True)

В одном из моих представлений у меня есть следующий код:

ct, object_id = self._get_content_info()
ip_address = get_client_ip(request_object) # expensive function, call only when needed
last_visit = AnonymousInteractionMonitor.objects.filter(visitor_ip=ip_address, content_type=ct, interaction_type=interaction_type,  object_id=object_id).last()

Я проверяю тип переменной ct перед фильтрацией - и она действительно является экземпляром ContentType - так почему же возникает ошибка:

Невозможно присвоить "": "AnonymousInteractionMonitor.content_type" должен быть экземпляром "ContentType"

.

воспитывается?

Как это исправить?

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