models.CharField
- for character fields
- 必填參數(shù)max_length
- 可選參數(shù)choices
models.DateTimeField
- for datetimes
- create_date = models.DateTimeField(auto_now_add=True) 用于新創(chuàng)建時填入當(dāng)前時間
- update_date = models.DateTimeField(auto_now=True) 用于更新時填入當(dāng)前時間
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)多個學(xué)生,一個學(xué)生也可以完成多個任務(wù)。
class Task(models.Model):
......
member = models.ManyToManyField(
Student,
)
......
models.ForeignKey
- 用于多對一關(guān)系
舉例:當(dāng)前對象【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)系
舉例:當(dāng)前對象【Student】與【User】對象是一對一關(guān)系。此處為使用Django自帶User對象的驗證功能,而與User進(jìn)行一對一對應(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)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。