【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可以创建自关联关系,也可以创建与尚未定义的模型的关系(模型名称用引号括起来)

相关推荐
小白学大数据31 分钟前
爬虫技术选股:Python 自动化筛选潜力股
开发语言·爬虫·python·自动化
践行见远1 小时前
django之认证与权限
python·django
青春不败 177-3266-05201 小时前
基于R语言lavaan结构方程模型(SEM)实践技术应用
python·r语言·贝叶斯·生态学·结构方程·sem
费弗里1 小时前
进阶技巧:在Dash应用中直接使用原生React组件
python·dash
Ashley_Amanda2 小时前
Python入门知识点梳理
开发语言·windows·python
tjjucheng2 小时前
小程序定制开发哪家有完整流程
python
海棠AI实验室2 小时前
第十二章 类型标注与可读性:让协作与复用更容易
python
羊村积极分子懒羊羊2 小时前
python课程三月二十九号粗略总结
开发语言·python
深圳蔓延科技2 小时前
Python算法学习分享
python
aloha_7892 小时前
langchain4j如何使用mcp
java·人工智能·python·langchain