在Django中,F(xiàn)oreignKey是一個(gè)模型字段(model field),用于定義與其他模型的關(guān)系。使用ForeignKey可以在一個(gè)模型中引用另一個(gè)模型的主鍵。
以下是使用ForeignKey的步驟:
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)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
在定義ForeignKey字段時(shí),還可以指定其他參數(shù),以定制關(guān)聯(lián)行為。例如,在上面的示例中,on_delete參數(shù)指定了當(dāng)關(guān)聯(lián)的Author實(shí)例被刪除時(shí),與其相關(guān)的Book實(shí)例的行為。
在進(jìn)行數(shù)據(jù)庫(kù)遷移(migrate)之后,可以通過在代碼中引用ForeignKey字段來訪問關(guān)聯(lián)的實(shí)例。例如,可以通過book.author
訪問Book模型中的Author實(shí)例。
還可以通過在定義ForeignKey字段時(shí)指定related_name參數(shù)來設(shè)置反向關(guān)系。這樣可以在關(guān)聯(lián)的模型中通過該名稱訪問與之關(guān)聯(lián)的模型。例如,在上面的示例中,可以通過author.book_set.all()
訪問與Author模型關(guān)聯(lián)的Book實(shí)例。
以上是使用ForeignKey的基本步驟,詳細(xì)的使用方法和參數(shù)可以參考Django官方文檔。