#mysql #django
#mysql #django
Вопрос:
class news(models.Model):
category = models.ForeignKey(category, on_delete=models.CASCADE)
source = models.ForeignKey(source, on_delete = models.CASCADE)
headlines = models.TextField(blank=True, null=True)
description = models.TextField(blank=True, null=True)
site = models.URLField(null=True)
story = models.TextField(blank=True, null=True)
datetime = models.CharField(blank=True, max_length=255)
image_url = models.URLField(blank=True, null=True)
favourite = models.ManyToManyField(User, related_name='favourite', blank=True)
-----------------
news_favourite table has id, news_id, user_id
---- -------------
Я хочу выполнить запрос типа
select news_id from news_favourite where user_id= 1
(или это может быть любой идентификатор пользователя).
Комментарии:
1.
news.objects.filter(favourite=current_user)
2. Или, если вы хотите, только
news_id
тогда вы можете использовать этоnews.objects.filter(favourite=current_user).values_list('id', flat=True)
Ответ №1:
Для этого вы можете использовать Django QuerySet.Filter.
Например, для вашего случая:
NewsFavourite.objects.filter(user_id=1).news
Это вернет набор запросов новостей.