1.charfield,integerfield,autofield,emailfield,textfield(textarea),booleanfield(checkbox),datetimefield(類似datefield)
2.floatfield
引數:max-digits 總位數(不包括小數點和符號) decimal_places 小數字數
3.datefield
引數: argument 描述-----(可選)
auto_now 物件儲存時,將當前時間設定為值,通常用於表示最後修改日期的時間戳.
auto_now_add 當物件首次被建立時,自動將該字段的值設定為當前時間.通常用於表示物件建立時間.(僅僅在admin中有意義...)
4.imagefield
default 初始預設檔案
6.urlfield
引數:verify_exists 預設為true, 給定的 url 會預先檢查是否存在( 即url是否被有效裝入且沒有返回404響應). admin----------
7.nullbooleanfield
意義: 類似 booleanfield加null=true 推薦使用
admin 用乙個選擇框 (三個可選擇的值: "unknown", "yes" 和 "no" ) 來表示這種字段資料.
8.slugfield
意義:"slug" 報紙術語,某個東西的小小標記(短簽), 只包含字母,數字,下劃線和連字元.通常用於urls
9.xmlfield
意義:乙個校驗值是否為合法xml的 textfield
引數:(必須) schema_path 它是乙個用來校驗文字的 relaxng schema #的檔案系統路徑.
10.filepathfield
可選專案為某個特定目錄下的檔名.
引數: (必須)path 乙個目錄的絕對檔案系統路徑. filepathfield據此得到可選專案
match (可選) 乙個正規表示式, 作為乙個字串, filepathfield 將使用它過濾檔名.此正規表示式只會應用到 base filename 而不是路徑全名. example: "foo.*\.txt^", 將匹配檔案 foo23.txt 卻不匹配 bar.txt 或 foo23.gif.
recursive (可選) true or false. 預設值是 false. 是否包括 path 下面的全部子目錄.
example: filepathfield(path="/home/images", match="foo.*", recursive=true)...會匹配 /home/images/foo.gif 而不匹配 /home/images/foo/bar.gif
注意:在乙個 model 中使用 filefield 或 imagefield 需要以下步驟:
(1)在你的 settings 檔案中, 定義乙個完整路徑給 media_root 以便讓 django在此處儲存上傳檔案.(出於效能考慮,這些檔案並不儲存到資料庫.) 定義media_url 作為該目錄的公共 url. 要確保該目錄對web伺服器使用者帳號是可寫的.
(2) 在你的 model 中新增 filefield 或 imagefield, 並確保定義了 upload_to 選項,以告訴 django使用 media_root 的哪個子目錄儲存上傳檔案.你的資料庫中要儲存的只是檔案的路徑(相對於 media_root).出於習慣你一定很想使用 django 提供的 get__url 函式.舉例來說,如果你的 imagefield 叫作 mug_shot, 你就可以在模板中以 } 這樣的方式得到影象的絕對路徑.
1.null
2.blank 如果為true,該欄位允許不填。預設為false。要注意,這與 null 不同。null純粹是資料庫範疇的,而 blank 是資料驗證範疇的。如果乙個欄位的blank=true,表單的驗證將允許該字段是空值。如果字
段的blank=false,該欄位就是必填的。
3.default 欄位的預設值。可以是乙個值或者可呼叫物件。如果可呼叫,每有新物件被建立它都會被呼叫。
4.primary_key 若為true,則為主鍵。
5.unique 若為true, 則唯一
6.choices 由二元組組成的乙個可迭代物件(例如,列表或元組),用來給字段提供選擇項。 如果設定了choices ,預設的表單將是乙個選擇框而不是標準的文字框,而且這個選擇框的選項就是choices 中的選
項。setting設定:
1view codesetting設定:
2databases =
11 }
資料庫遷移命令:
python manage.py makemigrations對於python3,預設驅動mysqldb,而我們需要匯入驅動pymysql,這樣做:在專案名檔案下的__init__.py中寫入:python manage.py migrate
import pymysqlmysqlclient目前只支援到python3.4,因此如果使用的更高版本的python,需要修改如下:通過查詢路徑c:\programs\python\python36-32\lib\site-packages\django-2.0-py3.6.egg\django\db\backends\mysqlpymysql.install_as_mysqldb()
將這個路徑裡的檔案把下面這條語句注釋掉:
if version <若要看轉換過程中的sql,在配置檔案中植入:(1, 3, 3):
raise improperlyconfigured("mysqlclient 1.3.3 or newer is required; you h**e %s" % database.__version__)
logging = ,view code},'loggers': ,}}
表建立完成。
FMDB 資料遷移即資料庫增加新字段
最近公司需要新專案,需要資料持久化 使用的是fmdb操作sqlite,在正常使用過程中沒有什麼毛病的,但是如果一旦需求改了 需要增加欄位的時候就必須要重新寫 或者使用者重新解除安裝安裝,這就會造成使用者資料丟失。剛開始預定方案是判斷版本號之後,對於原先資料庫裡面的資料讀出來然後新增欄位的資料進行寫入...
資料庫遷移
這期專案,需要將另外乙個系統a與現有系統b整合,由於時間比較緊,直接採用遷移oracle資料庫物件的方式,發現之前評估的方案不是特別完善,首先 1 a資料庫為gbk編碼,b資料庫是utf 8編碼格式,a資料遷移需要進行中文字段擴容 至少1.5倍 2 a資料庫需要做效能評估,歷史資料遷移涉的方式,兼顧...
資料庫遷移
資料庫遷移 在開發過程中,需要修改資料庫模型,而且還要在修改之後更新資料庫。最直接的方式就是刪除舊表,但這樣會丟失資料。更好的解決辦法是使用資料庫遷移框架,它可以追蹤資料庫模式的變化,然後把變動應用到資料庫中。在flask中可以使用flask migrate擴充套件,來實現資料遷移。並且整合到fla...