Junior — Middle
77
Que signifie le champ related_query_name dans Django et comment est-il utilisé lors de la modélisation des relations?
Entreprises à qui on a demandé
Оптимакрос
Диджитал сектор
Réponse de l'IA
sobes.tech IA
В Django поле related_query_name используется в определении связей моделей (ForeignKey, ManyToManyField, OneToOneField) и задаёт имя для обратного доступа к связанным объектам при построении запросов.
По умолчанию Django генерирует имя обратной связи автоматически, но иногда нужно задать более удобное или уникальное имя, особенно если в модели несколько связей на одну и ту же модель.
Пример:
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
author = models.ForeignKey(Author, on_delete=models.CASCADE, related_query_name='book')
Теперь можно делать запросы типа:
Author.objects.filter(book__title__icontains='Python')
Здесь book — это related_query_name, позволяющее обращаться к книгам автора в фильтрах.
Таким образом, related_query_name помогает удобно и явно называть обратные связи для использования в ORM-запросах.