models.CharField
- for character fields
- 必填參數(shù)max_length
- 可選參數(shù)choices
models.DateTimeField
- for datetimes
- create_date = models.DateTimeField(auto_now_add=True) 用于新創(chuàng)建時填入當前時間
- update_date = models.DateTimeField(auto_now=True) 用于更新時填入當前時間
models.TextField
models.FileField(upload_to='uploads/%Y/%m/%d')
- 用于上傳文件垄分,文件將保存在'uploads/%Y/%m/%d'目錄下面
models.ManyToManyField
- 用于多對多關(guān)系
舉例:此處【Task】與【Student】是多對多關(guān)系熟史,即一個任務(wù)可以關(guān)聯(lián)多個學生,一個學生也可以完成多個任務(wù)。
class Task(models.Model):
......
member = models.ManyToManyField(
Student,
)
......
models.ForeignKey
- 用于多對一關(guān)系
舉例:當前對象【Teacher】與【W(wǎng)orkRoom】是多對一關(guān)系猾瘸,即一個工作室里可以有多名教師,但是一名教師只能屬于一個工作室伴逸。
class Teacher(models.Model):
work_room = models.ForeignKey(
WorkRoom,
default=0,
on_delete=models.CASCADE,
verbose_name="work room",
)
models.OneToOneField
- 用于一對一關(guān)系
舉例:當前對象【Student】與【User】對象是一對一關(guān)系蜀踏。此處為使用Django自帶User對象的驗證功能,而與User進行一對一對應(yīng)儿倒。
class Student(models.Model):
......
user = models.OneToOneField(
User,
on_delete=models.CASCADE,
verbose_name="login user",
default=0,
)
......
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者