【Django】model模型—字段关联关系:多对一,一对一

多对一

例子:如果一个 Car 模型有一个制造者 Manufacturer --就是说一个 Manufacturer 制造许多辆车,但是每辆车都仅有一个制造者-- 那么使用下面的方法定义这个关系:

python 复制代码
from django.db import models

# 制造商
class Manufacturer(models.Model):
    # ...
    pass

# 汽车
class Car(models.Model):
	# ForeignKey字段,Manufacturer为关联的模型
    manufacturer = models.ForeignKey(Manufacturer, on_delete=models.CASCADE)
    # ...

ForeignKey字段名最好是关联的模型名,需要添加一个位置参数,即关联的模型类名。

一对一

例子:一个餐厅的模型,和一个位置信息模型,一个餐厅对应一个地点。

python 复制代码
from django.db import models

# 位置信息
class Place(models.Model):
    # ...
    pass

# 餐厅
class Restaurant(models.Model):
	# OneToOneField字段,Manufacturer为关联的模型
    place = models.OneToOneField(Place, on_delete=models.CASCADE)
    # ...

处理这样的情况时最好使用模型继承 ,它隐含的包括了一个一对一关系。

ForeignKeyOneToOneField可以创建自关联关系,也可以创建与尚未定义的模型的关系(模型名称用引号括起来)

相关推荐
dagouaofei3 小时前
2026 年工作计划汇报 PPT:多种 AI 方案对比评估
人工智能·python·powerpoint
唐叔在学习3 小时前
用python实现类AI自动执行终端指令
后端·python·自动化运维
前端程序猿之路3 小时前
AI大模型应用开发之容器化部署
人工智能·python·语言模型·云原生·eureka·ai编程·改行学it
创新技术阁3 小时前
CryptoAiAdmin项目数据库表自动创建和初始化
后端·python·fastapi
Blossom.1183 小时前
多模态视频理解实战:从0到1构建视频-文本对齐大模型
人工智能·python·深度学习·神经网络·重构·音视频·知识图谱
轻竹办公PPT3 小时前
2026 年年度工作计划 PPT:AI 自动生成方案横向对比
人工智能·python·powerpoint
执笔论英雄3 小时前
【RL】op_compute_log_probs 计算过程
人工智能·pytorch·python
Hiweir ·3 小时前
ROS Noetic教程------VSCode创建ROS话题通讯--发布方的简单流程
vscode·python·ros noetic·ros noetic教程
deephub4 小时前
dLLM:复用自回归模型权重快速训练扩散语言模型
人工智能·python·语言模型·大语言模型
itwangyang5204 小时前
AIDD-人工智能药物设计-字节跳动 PXDesign:AI 设计蛋白,82% 命中率惊艳业界
人工智能·python