天天看點

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,如需轉載請自行聯系原作者