首页 > 解决方案 > django 如何解析其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 如何知道部门的哪一列(dept_name、dept_head 或 dept_abbrv)将映射到 Employee 中的“dept”。如果我必须添加新员工,在我的员工详细信息管理页面中,有一个下拉列表列出了所有 Department.dept_name 与“dept”。django 是如何决定的?为什么它不是 dept_head 或 dept_abbrv 的下拉列表?

标签: pythondjangodjango-models

解决方案


Django 将创建一个 id 作为主键,当使用外键时,除非代码中另有说明,否则 Django 将使用它作为其映射。


推荐阅读