社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

django如何解析models.py中的外键?

Manish Jindal • 6 年前 • 2216 次点击  

我想知道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_名称。Django怎么决定的?为什么不是部门主管或部门助理的下拉列表?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43964
文章 [ 2 ]  |  最新文章 6 年前
Kevin
Reply   •   1 楼
Kevin    7 年前

不需要指定创建关系的字段。django自己知道,他必须选择与模型关联的表的主键(id)。

django负责创建id本身。您可以在应用程序的迁移文件中看到ID。

Model and migration

Jamie Lindsey
Reply   •   2 楼
Jamie Lindsey    7 年前

django将创建一个id作为主键,并且在使用外键时,django将使用该id作为其映射,除非代码中另有说明。