簡體   English   中英

django如何在其models.py中解析外鍵?

[英]How django resolve the foreign key in its models.py?

我想知道django如何確定“一對多”關系中哪個列或字段將充當另一個模型的外鍵。

class Department(models.Model):
  dept_name = models.CharField(max_length=100)
  dept_head = models.CharField(max_length=100)
  dept_abbrv = models.CharField(max_length=100)


class Employee(models.Model):
  dept = models.ForeignKey(Department)
  emp_name = models.CharField(max_length=100)

現在,django如何知道Department的哪一列(dept_name,dept_head或dept_abbrv)將映射到Employee中的“ dept”。 在我的員工詳細信息管理頁面中,如果我必須添加新員工,則存在一個下拉列表,列出了所有與“ dept”相對的Department.dept_name。 django是如何決定的? 為什么它不是dept_head或dept_abbrv的下拉列表?

Django將創建一個id作為主鍵,並且在使用外鍵時,除非代碼中另有說明,否則Django會將其用作映射。

您無需指定創建關系的字段。 Django自己知道,他必須選擇與您的模型關聯的表的主鍵(id)。

Django負責創建ID本身。 您可以在應用程序的遷移文件中看到ID。

模型與遷移

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM