Встречается на собеседованиях • сегодня
Как в Django ORM реализовать many-to-many
В Django ORM связь many-to-many реализуется через ManyToManyField. Она создаёт промежуточную таблицу для хранения связей между моделями.
Пример:
python
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)Особенности:
- Django автоматически создаёт промежуточную таблицу
- Можно указать
throughдля кастомной промежуточной модели - Доступны методы
add(),remove(),clear(),set() - Запросы:
Book.objects.filter(authors__name='Пушкин')
Кастомная промежуточная модель:
python
class Membership(models.Model):
author = models.ForeignKey(Author, on_delete=models.CASCADE)
book = models.ForeignKey(Book, on_delete=models.CASCADE)
date_joined = models.DateField()
class Book(models.Model):
authors = models.ManyToManyField(Author, through='Membership')
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы