У меня есть 2 модели: пользователь (django.contrib.auth.models.User) и модель с именем Log. Оба содержат поле «электронная почта». В журнале нет ForeignKey, указывающего на модель пользователя. Я пытаюсь выяснить, как я могу выполнить JOIN для этих двух таблиц, используя поле электронной почты в качестве общности.
В основном есть два запроса, которые я хочу выполнить. Базовое соединение для фильтрации
#Get all the User objects that have related Log objects with the level parameter set to 3.
User.objects.filter(log__level=3)
Я также хотел бы сделать несколько агрегатов.
User.objects.all().anotate(Count('log'))
Конечно, было бы неплохо сделать и обратное.
log = Log.objects.get(pk=3)
log.user...
Есть ли способ сделать это с ORM? Может быть, что-то, что я могу добавить в мета-класс модели, чтобы «активировать» отношение?
Спасибо!