Back to questions
Junior — Middle
51
Объясните, что такое связь ForeignKey в Django и как она используется для установления отношений между моделями.
Companies where asked
Оптимакрос
Диджитал сектор
Answer from AI
sobes.tech AI
В Django связь ForeignKey используется для установления отношения «многие к одному» между моделями. Это означает, что одна запись в одной модели может быть связана с несколькими записями в другой модели.
Например, если у вас есть модели Author и Book, то каждая книга может иметь одного автора, а у автора может быть много книг. В модели Book вы добавляете поле author = models.ForeignKey(Author, on_delete=models.CASCADE), чтобы связать книгу с автором.
Пример:
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
Здесь on_delete=models.CASCADE означает, что при удалении автора все связанные книги тоже будут удалены.
Таким образом, ForeignKey позволяет навигировать от объекта с «многими» к объекту с «одним» и использовать связанные данные в запросах и шаблонах.