Поисковая система при помощи Django ORM
Помогите, пожалуйста, решить задание.
Есть модель Джанго Post:
class Post(models.Model):
text = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(
User,
on_delete=models.CASCADE,
related_name='posts'
)
group = models.ForeignKey(
Group,
on_delete=models.SET_NULL,
max_length=200,
blank=True,
null=True,
related_name='posts')
А это само задание: "Допишите код view-функции: она должна вывести на главную страницу посты, в которых есть запрошенное ключевое слово. Форма отправляет запрос методом GET. Запрос сделайте так, чтобы при обращении к свойствам модели author и group не порождались дополнительные запросы к базе." Код из файла со вьюшкой:
from django.shortcuts import render
from .models import Post, User
def index(request):
keyword = request.GET.get("q", None)
if keyword:
posts = ...
else:
posts = None
return render(request, "index.html", {"posts": posts, "keyword": keyword})
В переменной posts нужно написать запрос в БД. Все, на что меня хватило, это: posts = Post.objects.filter(text__contains='keyword '). Но я не понимаю, как дальше построить запрос, чтобы при поиске выводился не только текст поста, но и поля author и group.