django中的models反向生成

2022-06-08 08:15:09 字數 2026 閱讀 5319

用django搭建**時,需要對資料庫進行操作,一般通過models來生成資料庫的格式

class

fans(models.model):

name = models.charfield(max_length=255, verbose_name="名字"

) fans_add = models.integerfield(verbose_name="增長"

) fans = models.integerfield(verbose_name="

粉絲數"

) flag = models.charfield(max_length=255, verbose_name="標記"

) datetime = models.datetimefield(verbose_name="時間"

)

class

meta:

unique_together = ("

name

", "

datetime")

verbose_name = '

粉絲數'

verbose_name_plural =verbose_name

db_table = "

fans

"

例子:

databases =

'database2':

}

反向:通過inspectdb處理類,可以將現有資料庫裡的乙個或多個或全部資料表生成django model實體類。

呼叫命令引數:

python manage.py inspectdb --database default

也可以直接

--database default : 要轉換的資料庫配置別名

--database 對應settings.py檔案裡的databases資料庫配置.

當專案配置了兩個以上的資料庫才要通過 --database,不加--database引數預設就是指向default的資料庫。

tablename1 tablename2 : 要轉換的資料表名

多個表名之間用逗號隔開,如果不加表名引數即是資料庫裡的全部表

檔名路徑是相對manage.py檔案的。

注意:如果輸出的檔案裡有內容,操作會清空原有內容再將結果寫入。可以先輸出到models_temp.py臨時檔案裡,再將model類複製到models.py檔案裡。

注:managed = false

由於django會自動根據模型類生成對映的資料庫表,如果你不希望django這麼做,可以把managed的值設定為false。

class

fans(models.model):

name = models.charfield(max_length=255, verbose_name="名字"

) fans_add = models.integerfield(verbose_name="增長"

) fans = models.integerfield(verbose_name="

粉絲數"

) flag = models.charfield(max_length=255, verbose_name="標記"

) datetime = models.datetimefield(verbose_name="時間"

)

class

meta:

unique_together = ("

name

", "

datetime")

verbose_name = '

粉絲數'

verbose_name_plural =verbose_name

managed =false

db_table = '

fans

'

Django的models中filter的各種用法

exact 精確等於 like aaa iexact 精確等於 忽略大小寫 ilike aaa contains 包含 like aaa icontains 包含 忽略大小寫 ilike aaa 但是對於sqlite來說,contains的作用效果等同於icontains。gt 大於 gte 大於等...

Django中models的編寫

models的編寫 1 通過orm建立資料表from django.db import models create your models here.class publisher models.model name models.charfield max length 20 address mo...

django中models的filter過濾方法

gte 大於等於 lt 小於 lte 小於等於 in 存在於乙個list範圍內 startswith 以 開頭 istartswith 以 開頭忽略大小寫 endswith 以 結尾 iendswith 以 結尾,忽略大小寫 range 在 範圍內 year 日期欄位的年份 month 日期欄位的月...