python - 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 的下拉列表?
解决方案
Django 将创建一个 id 作为主键,当使用外键时,除非代码中另有说明,否则 Django 将使用它作为其映射。
推荐阅读
- javascript - 使用自定义 Hook 事件处理反应陈旧状态
- graph - 冻结图索引错误:列表索引超出范围
- cordova - 如何在 Cordova 中为不同平台定义不同的文件链接
- javascript - 可以展开、调整第一行大小、悬停和突出显示选定的 HTML 表格
- javascript - 存储库 - 插入方法
- javascript - 设置可以拖动元素的位置
- vue.js - Nuxt 巨大的内存使用/泄漏以及如何防止
- python - 我正在尝试使用 Gmail SMTP 从 Django 发送电子邮件
- python - 对角切片数组并屏蔽数据
- c# - .Net Core 3.1 使用来自 C#/WPF 的 GraphQLHttpClient 卡住 - 但适用于 ConsoleApp