关于django的表单不同关系之间的创建
一.不同关系之间的创建
1.一对一
举例
母表:userinfo
id
name
age
1
张三
12
2
李四
58
字表:private
id
salary
sp_id
1
100
1
2
400
2
models.py
class UserInfo(models.Model):
name = models.CharField(max_length=32, null=True)
age = models.IntegerField(null=True)
class Private(models.Model):
salary = models.CharField(max_length=32, null=True)
sp = models.OneToOneField("UserInfo", null=True) #oneTooneField: 一对一, 默认要求该字段必须是唯一的 unique 外键关系
推荐Python大牛在线分享技术 扣qun:855408893
领域:web开发,爬虫,数据分析,数据挖掘,人工智能
零基础到项目实战,7天学习上手做项目
插入信息
models.UserInfo.objects.create(name='张三',age=12)
models.Private.objects.create(salary=100,sp_id=1)
查询
#从母表查询子表中的数据
#方法1:res = models.UserInfo.objects.filter(name='张三').first().private.salary #子表表名小写.子表字段名
#方法2:res = models.UserInfo.objects.filter(name='张三').values('private__salary')
#从子表查询母表信息
#方法1:res = models.Private.objects.filter(salary='100').first().sp.name
#方法2:res = models.Private.objects.values('sp__name'):
2.多对多(通过关系表)
models.py
class Boy(models.Model):
bname = models.CharField(max_length=30,null=True)
class Girl(models.Model):
gname = models.CharField(max_length=30,null=True)
class