Встречается на собеседованиях • сегодня

Что такое поле related_name в Django

Поле related_name в Django позволяет задать имя обратной связи для отношения между моделями. Оно используется, когда нужно получить доступ к связанным объектам из родительской модели.

Пример:

python
class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books')

text

Теперь можно получить все книги автора через `author.books.all()`, вместо стандартного `author.book_set.all()`.  

Если `related_name` не указан, Django использует имя модели в нижнем регистре с суффиксом `_set` (например, `book_set`).  

**Важно:**  
- Уникальность: `related_name` должен быть уникальным в пределах модели.  
- `related_name='+'` отключает обратную связь.  
- Полезно при множественных связях на одну модель.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы