Django创建表单以及表单数据类型和属性

本文详细介绍了Django中一对一、多对多(通过与不通过关系表)和一对多的关系创建,以及Django ORM与MySQL数据类型的对应关系和仅在admin中生效的数据类型和属性。内容包括模型定义、数据插入与查询,以及字段验证方法。
摘要由CSDN通过智能技术生成

关于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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值