Ответ
ForeignKey (внешний ключ) — это ограничение в реляционных базах данных, которое создает связь между таблицами. Он указывает, что значение в столбце одной таблицы должно соответствовать значению первичного ключа (Primary Key) в другой таблице. Это обеспечивает целостность данных и предотвращает некорректные связи.
Пример в SQL:
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
Здесь CustomerID в таблице Orders ссылается на CustomerID в таблице Customers. Если попытаться вставить заказ с несуществующим CustomerID, база данных выдаст ошибку.
В Django ORM:
class Customer(models.Model):
name = models.CharField(max_length=100)
class Order(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
Параметр on_delete определяет поведение при удалении связанной записи (например, CASCADE — удалить связанные записи).
Видео-ответы
▶
▶