"""使用者表
性別 學歷
工作經驗
是否結婚
是否生子
客戶**
...針對某個可以列舉完全的可能性字段,我們應該如何儲存
只要某個欄位的可能性是可以列舉完全的,那麼一般情況下都會採用choices引數
"""class user(models.model):
username = models.charfield(max_length=32)
age = models.integerfield()
# 性別
gender_choices = (
(1,'男'),
(2,'女'),
(3,'其他'),
)gender = models.integerfield(choices=gender_choices)
score_choices = (
('a','優秀'),
('b','良好'),
('c','及格'),
('d','不合格'),
)# 保證字段型別跟列舉出來的元祖第乙個資料型別一致即可
score = models.charfield(choices=score_choices,null=true)
"""該gender欄位存的還是數字 但是如果存的數字在上面元祖列舉的範圍之內
那麼可以非常輕鬆的獲取到數字對應的真正的內容
1.gender欄位存的數字不在上述元祖列舉的範圍內容
2.如果在 如何獲取對應的中文資訊
"""# models.user.objects.create(username='jason',age=18,gender=1)
# models.user.objects.create(username='egon',age=85,gender=2)
# models.user.objects.create(username='tank',age=40,gender=3)
# 存的時候 沒有列舉出來的數字也能存(範圍還是按照字段型別決定)
# models.user.objects.create(username='tony',age=45,gender=4)
# 取# user_obj = models.user.objects.filter(pk=1).first()
# print(user_obj.gender)
# 只要是choices引數的字段 如果你想要獲取對應資訊 固定寫法 get_欄位名_display()
# print(user_obj.get_gender_display())
user_obj = models.user.objects.filter(pk=4).first()
# 如果沒有對應關係 那麼欄位是什麼還是展示什麼
print(user_obj.get_gender_display()) # 4
資料庫字段
mysql char size 字長字元,0 255位元組 varchar size 變長字元,0 255位元組 date 日期資料,格式為yyyy mm dd hh mm ss datetime 日期資料,比date更確切,包含分秒 int整形資料 double s,p 數字型,可存放實型和整形,...
ORM相關字段,引數及資料庫遷移
1.charfield,integerfield,autofield,emailfield,textfield textarea booleanfield checkbox datetimefield 類似datefield 2.floatfield 引數 max digits 總位數 不包括小數點...
資料庫修改字段
一 更改字段型別長度 a mysql alter table 表名 change 原欄位名 新欄位名 字段型別 b oracle alter table 表名 rename column 原欄位名 to 新欄位名 二 更改字段型別 alter table 表名 alter column 欄位名 更改...