У меня есть следующие две модели в моем проекте.
class Blog(models.Model):
title=models.CharField(max_length=20, blank=False, default='')
content=models.CharField(max_length=2000, blank=False, default='')
class UserLikedBlogs(models.Model):
blog=models.ForeignKey(TTSServiceModel.TTSService, on_delete=models.CASCADE, blank=True, null=True)
user=models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
Все пользователи, которые могут войти, могут видеть блоги других пользователей. Текущий вошедший в систему пользователь может «полюбить» определенный блог, который добавляет запись в таблицу UserLikedBlogs.
Теперь я хочу показать все блоги, присутствующие в системе, зарегистрированному пользователю, но я также хочу показать блоги, которые понравились пользователю.
Я понимаю, что это должно получить все записи из таблицы блогов с дополнительными столбцами из таблицы UserLikedBlogs, где данные присутствуют только для блогов, понравившихся пользователю, а не иначе.
Этоклассический случай Внешнего Соединения, где общие элементы между двумя наборами связаны со всеми элементами из одной из таблиц, участвующих в объединении.
Я читал документацию от django и на SO, но я не могукажется, найти правильный синтаксис для этого.
Мой хакерский способ сделать это - использовать пользователя Pandas
и соединить два набора данных в Python, а не запрос. Я уверен, что есть лучший способ, но просто не могу его найти. Вы можете помочь?