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

Какие знаешь связи с моделями в БД

В Django ORM есть несколько типов связей между моделями:

  1. OneToOneField - связь один к одному. Например, профиль пользователя:
python
class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
  1. ForeignKey - связь один ко многим. Например, пост и комментарии:
python
class Comment(models.Model):
    post = models.ForeignKey(Post, on_delete=models.CASCADE)
  1. ManyToManyField - связь многие ко многим. Например, теги у статей:
python
class Article(models.Model):
    tags = models.ManyToManyField(Tag)

Дополнительные параметры:

  • on_delete - поведение при удалении связанного объекта (CASCADE, PROTECT, SET_NULL и др.)
  • related_name - имя для обратной связи
  • through - для создания промежуточной модели при ManyToMany

Также есть возможность создавать связи между моделями в разных приложениях и даже разных БД.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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