django使用日誌01 model建立

2021-10-05 08:19:50 字數 1657 閱讀 8241

一.model的建立,以及外來鍵的使用

foreignkey表示一對多的關係。

一般來說,foreignkey放在多的一方。

例子1(自關聯):

class

organizations

(models.model)

: name = models.charfield(

) pid = models.foreignkey(

'self'

, on_delete=models.cascade, null=

true

, blank=

true

, verbose_name=

'father'

, related_name=

'sub_org'

)

foreignkey在django中必須要有兩個引數:1.關聯的表名 2.on_delete

在設定外來鍵時,需要通過on_delete選項指明主表刪除資料時,對於外來鍵引用表資料如何處理,在django.db.models中包含了可選常量:

cascade 級聯,刪除主表資料時連通一起刪除外來鍵表中資料

protect 保護,通過丟擲protectederror異常,來阻止刪除主表中被外來鍵應用的資料

set_null 設定為null,僅在該字段null=true允許為null時可用

set_default 設定為預設值,僅在該字段設定了預設值時可用

do_nothing 不做任何操作,如果資料庫前置指明級聯性,此選項會丟擲integrityerror異常

set() 設定為特定值或者呼叫特定方法,如

from django.conf import settings

from django.contrib.auth import get_user_model

from django.db import models

defget_sentinel_user()

:return get_user_model(

).objects.get_or_create(username=

'deleted')[

0]class

mymodel

(models.model)

: user = models.foreignkey(

settings.auth_user_model,

on_delete=models.set(get_sentinel_user)

,)

其他的引數

null 如果為true,表示允許為空,預設值是false

blank 如果為true,則該字段允許為空白,預設值是false

db_column 欄位的名稱,如果未指定,則使用屬性的名稱

db_index 若值為true, 則在表中會為此字段建立索引,預設值是false

default 預設

primary_key 若為true,則該字段會成為模型的主鍵字段,預設值是false,一般作為autofield的選項使用

unique 如果為true, 這個欄位在表中必須有唯一值,預設值是false

django中使用日誌

配置日誌檔案的使用 logging 日誌格式 filters handlers default error console request handler scprits handler loggers django.request scripts blog.views 在views 檢視函式中使用...

Django 使用logging列印日誌的例項

django使用python自帶的logging 作為日誌列印工具。簡單介紹下logging。logging 是執行緒安全的,其主要由4部分組成 logger 使用者使用的直接介面,將日誌傳遞給handler handler 控制日誌輸出到 console,file 乙個logger可以有多個han...

Django日誌配置

django的日誌在 your project name settings.py檔案中配置。具體配置如下 logging detail handlers file level info class logging.handlers.rotatingfilehandler maxbytes 1024 ...