Встречается на 2% собеседований по Python
Как связать модели в Django
В Django модели связываются через поля отношений. Основные типы связей:
- ForeignKey - связь "многие к одному". Например, у статьи один автор, но у автора много статей:
python
class Author(models.Model):
name = models.CharField(max_length=100)
class Article(models.Model):
title = models.CharField(max_length=200)
author = models.ForeignKey(Author, on_delete=models.CASCADE)- ManyToManyField - связь "многие ко многим". Например, у статьи может быть несколько тегов, и тег может относиться к нескольким статьям:
python
class Tag(models.Model):
name = models.CharField(max_length=50)
class Article(models.Model):
tags = models.ManyToManyField(Tag)- OneToOneField - связь "один к одному". Например, расширенный профиль пользователя:
python
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.TextField()Параметр on_delete определяет поведение при удалении связанного объекта (CASCADE, PROTECT, SET_NULL и др.). Для ManyToMany можно использовать промежуточную модель через through.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы