РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pydjPmMRFKM 147 of 187 menu

Данные ForeignKey со стороны многие в Django

В предыдущем уроке мы связали категории и посты через ForeignKey. Напомним структуру таблиц:

categories

  • id
  • name

posts

  • id
  • title
  • category_id

Со стороны поста связь идет через поле category. Давайте получим пост и выведем его заголовок:

from main.models import Post post = Post.objects.get(id=1) print(post.title)

Теперь через post.category получим связанную категорию. Это уже объект модели Category, а не число id:

post = Post.objects.get(id=1) print(post.category) print(post.category.name)

Давайте получим все посты и для каждого выведем название категории:

posts = Post.objects.all() for post in posts: print(post.title, post.category.name)

Можно и фильтровать посты по полям связанной категории. Для этого используют двойное подчеркивание:

posts = Post.objects.filter(category__name='News') for post in posts: print(post.title)

Получите один город и выведите название его страны.

Получите все города вместе с их странами.

Получите все города страны с названием 'France'.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить