Django中比较。py怎么创建表?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强> ORM字段介绍强>
Djano提供了很多字段类型,比如URL/电子邮件/IP/但是mysql数据没有这些类型,这类型存储到数据库上本质是字符串数据类型,其主要目的是为了封装底层SQL语句;
<强> 1,字符串类(以下都是在数据库中本质都是字符串数据类型,此类字段只是在Django自带的管理中生效)强>
名称=models.CharField (max_length=32)
EmailField (CharField): IPAddressField(字段) URLField (CharField) SlugField (CharField) UUIDField(字段) FilePathField(字段) FileField(字段) ImageField (FileField) CommaSeparatedIntegerField (CharField)
<强>扩展强>
模型。CharField对应的是MySQL的varchar数据类型。
<强> char和varchar的区别:强>
char和varchar的共同点是存储数据的长度,不能超过max_length限制,
不同点是varchar根据数据实际长度存储,char按指定max_length()存储数据,所有前者更节省硬盘空间;
<强> 2,时间字段强>
models.DateTimeField (null=True) 日期=models.DateField ()
<强> 3,数字字段强>
(max_digits=30, decimal_places=10)总长度30小数位10位)
数字:
num =, models.IntegerField () 时间=num models.FloatField(),浮点 价格=models.DecimalField (max_digits=8, decimal_places=3),精确浮点
<强> 4枚举字段强>
,选择=( ,,,,,,,(1)& # 39;男人& # 39;), ,,,,,,,(2)& # 39;女人& # 39;), ,,,,,,,(3)& # 39;其他& # 39;) ,,,) 情人=models.IntegerField(选择=选择),#枚举类型
<强>扩展强>
在数据库存储枚举类型,比外键有什么优势?
1,无需连表查询性能低,省硬盘空间(选项不固定时用外键)
2,在新型文件里不能动态增加(选项一成不变用Django的选择)
<强>其他字段强>
db_index =, True 表示设置索引 独特的(唯一的意思),=,True 设置唯一索引 联合唯一索引 class 元: unique_together =, ( ,(& # 39;电子邮件# 39;,& # 39;ctime& # 39;), ) 联合索引(不做限制) index_together =, ( (& # 39;电子邮件# 39;& # 39;ctime& # 39;), ) ManyToManyField (RelatedField),, #多对多操作
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。