天天看点

django models的字段类型

django数据库字段类型:

1

<code>1</code><code>、models.AutoField  自增列 </code><code>=</code> <code>int</code><code>(</code><code>11</code><code>)</code>

   如果没有的话,默认会生成一个名称为id的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。

<code>2</code><code>、models.CharField  字符串字段</code>

必须有max_length 参数

<code>3</code><code>、models.BooleanFiled   布尔类型</code><code>=</code><code>tinyint(</code><code>1</code><code>)</code>

不能为空,blank=True

<code>4</code><code>、models.ComaSeparatedIntegerField  用逗号分割的数字</code><code>=</code><code>varchar</code>

继承CharField,所以必须max_length参数

<code>5</code><code>、models.DateField  日期类型date</code>

对于参数,auto_now =True则每次更新都会更新这个时间,auto_now_add则只是第一次创建添加,之后的更新不再改变。

<code>6</code><code>、models.DateTimeField  日期类型,datetime</code>

同DateField的参数

<code>7</code><code>、models.Decimal 十进制小数类型 </code><code>=</code> <code>decimal</code>

必须指定整数位max_digits和小数位decimal_places

<code>8</code><code>、models.EmailField  字符串类型(正则表达式邮箱) </code><code>=</code> <code>varchar</code>

对字符串进行正则表达式

<code>9</code><code>、models.FloatField 浮点类型 </code><code>=</code> <code>double</code>

<code>10</code><code>、models.IntegerField 整形</code>

<code>11</code><code>、models.BigIntegerField 长整形</code>

2

3

4

5

6

7

<code>integer_field_ranges </code><code>=</code> <code>{</code>

<code>    </code><code>'SmallIntegerField'</code> <code>: (</code><code>-</code><code>32768</code><code>,</code><code>32768</code><code>),</code>

<code>    </code><code>'IntegerField'</code> <code>: (</code><code>-</code><code>2147483648</code><code>, </code><code>2147483647</code><code>),</code>

<code>    </code><code>'BigIntegerField'</code><code>: (</code><code>-</code><code>9223372036854775808</code><code>,</code><code>9223372036854775807</code><code>),</code>

<code>    </code><code>'PositiveSmallIntegerField'</code><code>:(</code><code>0</code><code>,</code><code>32767</code><code>),</code>

<code>    </code><code>'PositiveIntegerField'</code><code>: (</code><code>0</code><code>,</code><code>2147483647</code><code>),</code>

<code>}</code>

<code>12</code><code>、models.IPAddressField 字符串类型(ip4正则表达式)</code>

13、models.GenericIPAddressField

参数protocal可以是:both、IPV4、IPV6

验证时,会根据设置报错

<code>14</code><code>、models.NullBooleanField 允许为空的布尔类型</code>

<code>15</code><code>、models.PositiveIntegerField 正Integer</code>

<code>16</code><code>、models.PositiveSmallIntegerField   正smallInteger</code>

<code>17</code><code>、models.SlugField  减号,下划线、字母、数字</code>

<code>18</code><code>、models.SmallIntegerField  数字</code>

数据库中的 字段有:tinyint、smallint、int、bigint

<code>19</code><code>、models.TextField  字符串</code><code>=</code><code>longtext</code>

<code>20</code><code>、models.TimeField  时间 HH:MM[:ss[.uuuuuu]]</code>

<code>21</code><code>、models.URLField 字符串,地址正则表达式</code>

<code>22</code><code>、models.BinaryField  二进制&lt;br&gt;</code>

<code>23</code><code>、models.ImageField  图片&lt;br&gt;</code>

<code>24</code><code>、models.FilePathField 文件</code>

更多字段的参数:

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<code>1</code><code>、null</code><code>=</code><code>True</code>

<code>  数据库中字段是否可以为空</code>

<code>2</code><code>、blank</code><code>=</code><code>True</code>

<code>  django的 Admin 中添加数据时是否可允许空值</code>

<code>3</code><code>、primary_key </code><code>=</code> <code>False</code>

<code>  主键,对AutoField设置主键后,就会代替原来的自增 </code><code>id</code> <code>列</code>

<code>4</code><code>、auto_now 和 auto_now_add</code>

<code>  auto_now      自动创建</code><code>-</code><code>-</code><code>-</code><code>无论添加或修改,都是当前操作的时间,即最后更新时间</code>

<code>  auto_now_add  自动创建</code><code>-</code><code>-</code><code>-</code><code>永远是创建时的时间,即创建时间</code>

<code>5</code><code>、choices</code>

<code>GENDER_CHOICE </code><code>=</code> <code>(</code>

<code>        </code><code>(u</code><code>'M'</code><code>, u</code><code>'Male'</code><code>),</code>

<code>        </code><code>(u</code><code>'F'</code><code>, u</code><code>'Female'</code><code>),</code>

<code>    </code><code>)</code>

<code>gender </code><code>=</code> <code>models.CharField(max_length</code><code>=</code><code>2</code><code>,choices </code><code>=</code> <code>GENDER_CHOICE)</code>

<code>6</code><code>、max_length  最大长度</code>

<code>7</code><code>、default  默认值</code>

<code>8</code><code>、verbose_name  Django Admin中字段的显示名称</code>

<code>9</code><code>、name|db_column  数据库中的字段名称</code>

<code>10</code><code>、unique</code><code>=</code><code>True</code><code>    不允许重复</code>

<code>11</code><code>、db_index </code><code>=</code> <code>True</code><code>  数据库索引</code>

<code>12</code><code>、editable</code><code>=</code><code>True</code><code>  在Admin里是否可编辑</code>

<code>13</code><code>、error_messages</code><code>=</code><code>None</code><code>  错误提示</code>

<code>14</code><code>、auto_created</code><code>=</code><code>False</code><code>  自动创建</code>

<code>15</code><code>、help_text  在Django Admin中提示帮助信息</code>

<code>16</code><code>、validators</code><code>=</code><code>[]</code>

<code>17</code><code>、upload</code><code>-</code><code>to</code>

字段类型:https://docs.djangoproject.com/en/dev/ref/models/fields/

本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1901638,如需转载请自行联系原作者