web開發第八課model

2021-08-08 12:36:02 字數 2291 閱讀 6396

一、iso 8601和utc

1、iso組織定義的日期和時間的表示方法

2、提供乙個標準的字串表示日期和時間的方法

3、不同的國家和地區,都會使用這種方式不會有歧義

不同的時間寫法:2014/03/02 和 03/02/2014

不同的時區 2014/03/02 09:00:00 中國,美國

擴充套件格式:2017-04-21t08:00:00z   t表示time,z表示utc時間,時區不需調整

二、utc(coordinate universal time)

中國的北京時間 2023年4月21日,上午 8點整

iso 8601 可以表示為2017-04-21t00:00:00z

也可以表示為 2017-04-21t08:00:00+08:00

三、後端實現

1、外來鍵的概念

如果乙個表中

# 

資料庫表中,

lesson

對應的course

只有其id,#

我們需要獲取名字(根據介面文件)

qs = lesson.objects.all().select_related('course') \

.annotate(course_name=f('course__name'))

qs = qs.values('id'

,'course_id'

,'course_name'

,'starttime'

,'endtime'

,'desc').order_by('-id')

course是外來鍵,加兩個_就可以查到這個欄位course__name

model間的關聯關係

一對多人(出生城市 屬性) 和城市

一對一人(身份證號屬性) 和身份證

多對多人(遊玩過的城市 屬性) 和城市

敲命令列方式,涉及到django環境,用django增強型的shell

python manage.py shell

多對多是單獨的產生一張表

退出用quit()

classcity(models.model):

name = models.charfield(max_length=50)

toursites = models.charfield(max_length=80)

classmeta:

db_table ="zzz_city"

classidcard(models.model):

peoplename = models.charfield(max_length=50)

idnumber = models.charfield(max_length=80)

classmeta:

db_table = "zzz_iccard"

classpeople(models.model):

name = models.charfield(max_length=80)

borncity = models.foreignkey(city,

related_name='born_people')

idcard = models.onetoonefield(idcard,

related_name='to_people')

#manytomanyfield

會產生一張新錶

visitedcity = models.manytomanyfield(city,

db_table='zzz_peoplevisitcity'

,related_name='visited_people')

classmeta:

db_table = "zzz_people"

反向關聯

一對多的關係

第八課 混合

第八課 混合 opengl中的混色 在opengl中實現混色的步驟類似於我們以前提到的opengl過程。接著設定公式,並在繪製透明物件時關閉寫深度快取。因為我們想在半透明的圖形背後繪製 物件。這不是正確的混色方法,但絕大多數時候這種做法在簡單的專案中都工作的很好。rui martins 的補充 正確...

第八課 陣列

1 宣告 int arr string str 2 分配空間 arr new int 5 3 宣告同時分配記憶體 int arr new int 5 4 初始化 int arr new int 5 int arr2 1 宣告 int arr string str 2 分配空間 1 直接為每一維分配空...

第八課 函式

1.id 標識 2.type 型別 3.value 值 關於可變物件的修改,可以參考下面程式理解 a 1,2,3 首先給a賦值列表,1,2,3 print a,id a 列印a,和a的id a 0 6 換掉列表a的第乙個值,改為6 print a,id a 列印a,和a的id,a的id和之前的一樣。...