Моя цель - получить данные из другой модели со ссылкой на тип объекта и идентификатор объекта.
Пример: у меня есть модель клиента и модель адреса
from django.db import models
class Customer(models.Model):
name = models.CharField(null=False, blank=False, max_length=255)
email = models.EmailField(null=False, blank=False, unique=True)
class Address(models.Model):
entity_type = models.CharField(null=False, max_length=255)
entity_id = models.PositiveIntegerField(null=False)
address1 = models.CharField(max_length=255)
address2 = models.CharField(max_length=255)
, сейчас я использую необработанный запрос
cursor.execute("SELECT * FROM customers AS cust
INNER JOIN addresses AS addrs ON
(cust.id = addrs.entity_id AND 'customer' = addrs.entity_type)
WHERE cust.id IN (%s)", [ids])
Но это не хорошее решение. Займите слишком много времени, когда идентификаторы находятся в диапазоне тысяч.
Если есть какой-либо другой способ архивировать эти данные. Тогда, пожалуйста, дайте свое решение в комментариях ..