Можно ли объединить две несвязанные модели на основе строкового столбца с помощью Django-ORM

В настоящее время в проекте, над которым я работаю, мы используем библиотеку под названием drf-api-tracking для регистрации каждого запроса, связанного с данными, как аудит. Библиотека предоставляет миксин под названием LoggingMixin, и с его помощью мы регистрируем связанные с API URL, коды состояния, запросы, ответы и т. д. Для сохранения этих данных используется модель под названием APIRequestLog, которая предоставляется библиотекой.

Предположим, что модель APIRequestLog выглядит следующим образом,

class APIRequesLog(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL)
    url = models.CharField(null=True, blank=True)
    ...

В нашей системе есть модель под названием Dashboard, и у этой модели есть атрибут URL.

Предположим, что модель приборной панели выглядит следующим образом,

class Dashboard(models.Model):
    shortname = models.CharField(null=True, blank=True)
    url = models.CharField(null=True, blank=True)
    ...

Мое требование заключается в том, что при запросе модели приборной панели мне нужно получить все записи APIRequestLog, которые похожи на URL приборной панели. Я знаю, что мы можем достичь этого путем итерации записей приборной панели и фильтрации APIRequestLog, которые имеют схожий URL с итерируемым URL приборной панели. Но это отнимает много времени. Есть ли какой-нибудь метод, с помощью которого мы можем объединить эти две модели на основе столбца URL и получить данные за один раз? Если да, пожалуйста, помогите мне разобраться с этим и заранее благодарю за поддержку.

Примечание: Модель Dashboard и модель APIRequesLog не имеют связи по внешнему ключу между моделями и можно импортировать модель APIRequesLog в любое место в проекте, даже если это модель из библиотеки

Я прошел через этот вопрос и этот вопрос, но это не помогло в моем сценарии

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