djangoorm建表字段evilliu

在djangomodle中,我们定义的类,他的对象就是数据库表中的一行数据!!!

djangoorm基础

一:modle的各个字段:

在python中以codefirst,所以在python中用类和对象,来调用底层数据库API来操作数据库。

1:创建数据库:

数据库配置写在:子应用的:modles.py配置文件中。

需要注意的时候app需要注册。在setting中。

默认情况下,使用的数据库是sqllite3.

创建类:

1fromdjango.dbimportmodels23#Createyourmodelshere.4classUserinfo(models.Model):5'''6功能:该类主要功能是创建用户的信息表格。7'''8user=models.CharField(max_length=12)9password=models.CharField(max_length=40)10ipone_num=models.CharField(max_length=12)111213classHostinfo(models.Model):14'''15功能:该类为用户录入主机数据表格。16'''17host=models.CharField(max_length=32)18address=models.CharField(max_length=32,default="马驹桥机房")19ip=models.CharField(max_length=34)20stat=models.CharField(max_length=32)21prot=models.CharField(max_length=32)22service=models.CharField(max_length=32,default='商城业务')23department=models.CharField(max_length=32,default="应用运维")24mac_info=models.CharField(max_length=32,default="00-av-tv-cctv")25pingpai=models.CharField(max_length=32,default="IBM")26sn=models.CharField(max_length=32,default="dad13sda")类中各个字段含义:

根绝自己的需要来定义这个字段和使用相应的参数。

还有字段:models.ImageField和、models.FilePathField在数据库中保存的是图片和文件的的路径。

默认情况下,如果我们不指定创建自增列(主键)的话,在数据库中,默认会给我们创建一个名为:id的自增列。

更多参数:

可以给我们的列设置默认值。default=''

1email=models.EmailField()#string,帮助admin做输入验证,modelform创建完,类,我们进行数据库的创建:执行如下2条命令!

1pythonmanage.pymakemigrations2pythonmanage.pymigratechoices:比如说性别:要么是男要么是女。如果有如下表:

1classGender(models.Model):2name=models.CharField(max_length=32)34classUser_type(models.Model):5user_type=models.CharField(max_length=32)6nid=models.AutoField(primary_key=True)7phone_num=models.IntegerField()8phone_num_1=models.IntegerField()9gender=models.ForeignKey('Gender')

因为性别是不会改变的。如果按如上的操作,用户类型和性别表建立多对一的情况,那么在我们查询的时候,会给数据库增加压力,这时候我们可以考虑用choices。用元组来表示这个字段,用0、1来表示性别。用内存储存的元组的来

减少表的跨表查询。

1gender_choices=(2(0,'男'),3(1,'女'),4)56classUser_type(models.Model):7user_type=models.CharField(max_length=32)8nid=models.AutoField(primary_key=True)9phone_num=models.IntegerField()10phone_num_1=models.IntegerField()11gender=models.IntegerField(choices=gender_choices)#前端页面显示的是男女,而实际上数据库记录的是:0和1,减少数据库的连表操作。

2:django中如果我们想修改,表结构,比如增加一个列,在之前的sqlalchemy中只能借助于第三的模块或者工具,但是在django中,不需要。只需要再执行如下命令既可修改表结构:

11pythonmanage.pymakemigrations22pythonmanage.pymigrate但是在执行如下的命令的时候,需要在对应的类(表)中设置相应的default的值。否则会报错。需要注意的是:报如下错误,前提是该数据库已经插入数据!!!否则不会报错。

解决方法:在相应的类中增加的列的中,填写默认数据:default="值",在运行命令的时候不会报错。

1Hostinfo.objects.filter(id=val).values(id)2Hostinfo.objects.filter(id=val).value_list(id,email)value:获取结果不是对象的列表的集合。内部小元素是字典,而是列表中嵌套字典。[{'id':2},{'id':1}]

valuelist:是获取元组的集合内嵌套元组,内部小元素是元组。((2,'1@qq.com'),(1,'2@qq.com'))

THE END
1.你的真实性别是什么?美国统计出112种性别,你属于哪一种?真人出镜社...越往北吃得越多吗? 03:39如果连续一个月洗冷水澡,身体会发生什么变化? 03:25你知道吗?这是你长期看“颜色电影”的代价? 03:38这些“人工合成”的垃圾食品,吃完等于慢性自杀?看看你吃过几种 03:29盘点那些国内爆火,却被外国人嫌弃的美食! 03:35原来每个省都有专属省汤,盘点中国暖汤地图,看看你们那是...https://www.163.com/v/video/VDNI5JN2M.html
2.用于评估肌肉相关病症的方法与流程和mfi的特定性别表(表8至表11)来完成的。由于ffmvi vcg 是体型调整后的ffmv值,因此还提供了查找表,该查找表中示出了每个ffmvi vcg 阈值对应于ffmv(每个bmi值)中的什么内容(表12)。这使得能够使用表7和表9,而不必对获取的ffmv值应用虚拟对照组调整。 https://www.xjishu.com/zhuanli/05/202080007628.html/
3.海南省公安机关办理户口证件工作规范法律规范公开《公民出生户口登记申报表》、《出生医学证明》副页、婴儿父母死亡或宣告死亡(失踪)说明、辖区民警调查核实书面材料原件;《出生医学证明》正副页、父母户口所在地公安派出所或办证中心出具的死亡注销户口证明或人民法院宣告死亡(失踪)的法律文书复印件。 第二十一条?台湾出生子女出生申报户口,夫妻双方或一方为中国内地...http://ga.hainan.gov.cn/sgat/flgf/202011/65264d9ede3844e587cd78d7763bb798.shtml
1.卡西欧手表首页卡西欧手表报价彩虹砖块系列 防水防震运动表款DW-5600RW/GA-2100RW/GM-5600RW/GM-2100RW/GM-5600BRW/GM-2100BRW ¥1,590| 立即购买 一切的开始,源于一个简单的信念: 创造一块永不摔坏的手表。 查看更多 弥漫星云主题 防水防震六局电波太阳能动力表款MTG-B3000DN-1APR ...https://www.casiostore.com.cn/watch/index.html
2.mysql中性别的数据类型mob649e815ddfb8的技术博客有时候,我们可能需要在性别字段上应用一些额外的约束或逻辑。这时可以创建一个独立的性别表,并将其与其他表进行关联。下面是一个示例: CREATETABLEgenders(idINTPRIMARYKEY,nameVARCHAR(50));INSERTINTOgenders(id,name)VALUES(1,'Male');INSERTINTOgenders(id,name)VALUES(2,'Female');CREATETABLEusers(idINTPRIMARY...https://blog.51cto.com/u_16175473/7306434
3.2024版清宫查男查女表公布!清宫查男查女表虚龄详解1.清宫表2. 2024 年版本的清宫查胎儿性别表3.清宫图 在古代由于科技水平还不发达,人们如果想要预测胎儿是男是女,很多人都会选择根据清宫表来预测未来孩子的性别,而这种方法一直流传到现在,到现在依然有一部分人在使用这种方法,而随着时代的进步,清宫查男查女表也在时代的进步中不断流传,流传到现在已经出现了2024年...https://www.snsnb.com/zixun/150836-1.html
4.sql表性别字段sql数据库建表性别为男或女你可以在数据库中建一个字段sex设置数据类型为bit或char(2),然后在下边“列属性”中设置该字段的默认值为1;或用语句来做 create table [表名](sex bit default '1') 这样做,只是因为性别只有2种情况,所以用bit类型的1和0表示,取数据的时候,还是要根据1和0判断是男是女。。。 https://blog.csdn.net/u013908405/article/details/45060749