Невозможно присвоить "<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"
.
воспитывается?
Как это исправить?