python 中model.py详解

django中遵从 code frist 的准则,即:依据代码中界说的类来主动生成数据库表。

from django.db import 聚星平台models
# create your models here.
class userinfo:
 nid = models.autofield
 username = models.charfield
 email = models.emailfield
 ip = models.genericipaddressfield
 memo = models.textfield
 img = models.imagefield
 usertype=models.foreignkey
class usertype:
 name = models.charfield
 def __str__:
 return self.name

更多字段:

1、models.autofield 自增列 = int
 假如没有的话,默许会生成一个称号为 id 的列,假如要显现的自界说一个自增列,有必要将给列设置为主键 primary_key=true。
2、models.charfield 字符串字段
 有必要 max_length 参数
3、models.booleanfield 布尔类型=tinyint
 不能为空,blank=true
4、models.comaseparatedintegerfield 用逗号切割的数字=varchar
 承继charfield,所以有必要 max_lenght 参数
5、models.datefield 日期类型 date
 关于参数,auto_now = true 则每次更新都会更新这个时刻;auto_now_add 则仅仅第一次创立增加,之后的更新不再改动。
6、models.datetimefield 日期类型 datetime
 同datefield的参数
7、models.decimal 十进制小数类型 = decimal
 有必要指定整数位max_digits和小数位decimal_places
8、models.emailfield 字符串类型 =varchar
 对字符串进行正则表达式
9、models.floatfield 浮点类型 = double
10、models.integerfield 整形
11、models.bigintegerfield 长整形
 integer_field_ranges = {
 'smallintegerfield': ,
 'integerfield': ,
 'bigintegerfield': ,
 'positivesmallintegerfield': ,
 'positiveintegerfield': ,
12、models.ipaddressfield 字符串类型
13、models.genericipaddressfield 字符串类型
 参数protocol可所以:both、ipv4、ipv6
 验证时,会依据设置报错
14、models.nullbooleanfield 答应为空的布尔类型
15、models.positiveintegerfiel 正integer
16、models.positivesmallintegerfield 正smallinteger
17、models.slugfield 减号、下划线、字母、数字
18、models.smallintegerfield 数字
 数据库中的字段有:tinyint、smallint、int、bigint
19、models.textfield 字符串=longtext
20、models.timefield 时刻 hh:mm[:ss[.uuuuuu]]
21、models.urlfield 字符串,地址正则表达式
22、models.binaryfield 二进制
23、models.imagefield 图片
24、models.filepathfield 文件

更多参数

1、null=true
 数据库中字段是否可认为空
2、blank=true
 django的 admin 中增加数据时是否可答应空值
3、primary_key = false
 主键,对autofield设置主键后,就会替代本来的自增 id 列
4、auto_now 和 auto_now_add
 auto_now 主动创立---不管增加或修正,都是当时操作的时刻
 auto_now_add 主动创立---永远是创立时的时刻
5、choices
gender_choice = ,
 ,
gender = models.charfield
6、max_length
7、default 默许值
8、verbose_name admin中字段的显现称号
9、name|db_column 数据库中的字段称号
10、unique=true 不答应重复
11、db_index = true 数据库索引
12、editable=true 在admin里是否可修改
13、error_messages=none 过错提示
14、auto_created=false 主动创立
15、help_text 在admin中提示协助信息
16、validators=[]
17、upload-to 上传到哪个方位,更多与image,filepath合作运用

使用场景:

使用场景:
一对多:当一张表中创立一行数据时,有一个单选的下拉框
 例如:创立用户信息时分,需求挑选一个用户类型等。
多对多:在某表中创立一行数据是,有一个能够多选的下拉框
 例如:创立用户信息,需求为用户指定多个喜好
一对一:在某表中创立一行数据时,有一个单选的下拉框(下拉框中的内容被用过一次就消失了
 例如:原有含10列数据的一张表保存相关信息,通过一段时刻之后,10列无法满意需求,需求为本来的表再增加5列数据

更多详解请参阅https://blog.csdn.net/com_ma/article/details/77847404?fps=1 locationnum=3 和 https://www.cnblogs.com/blueskyyj/p/11234852.html

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处://www.businesspLangh.com/ziyuan/8.html