上一篇文章我們瞭解瞭如何使用模型類創建數據表,這一篇我們就來看看對於創建的表數據,我們如何在Django框架中通過命令進行操作
上一篇文章:一起學Django(肆)——通過模型類創建數據表
一、表數據操作命令
數據操作和MySQL、Oracle中操作是一樣的,也是遵循了 “增、刪、改、查”,不同的地方是命令的格式。
因爲Django中數據庫是以類的形式存在的,所以要操作數據之前我們要先實例化模型類對象
(我們需要快速看到執行效果的話,可以在shell窗口進行對應的操作:
python manage.py shell
)
查:get()
使用命令:
類名.objects.get(查詢條件[id=1])。
類名.objects.all():返回全部數據,返回值是一個QuerySet對象
類名.objects.filter():返回滿足條件的數據,參數可以寫查詢條件
類名.objects.order_by:對查詢結果進行排序,返回值是QuerySet,參數可以寫排序的字段
查詢主表下關聯的所有從表的數據:主表對象名.從表類名_set.all()
查詢從表中符合和主表關聯的所有數據:主表對象名.從表關聯字段名
這裏可能很多人執行之後返回值是類的信息,需要直接顯示該id的值的話,需要在模型類中添加_ _str_ _()函數,修改返回值爲實例屬性字段名。如果是直接按照上一篇文章創建的表,那麼這裏就不用修改,因爲在上一篇的模型類代碼中已經做過添加
def __str__(self):
return self.hname
改:對象名.屬性名
用法:對象名 = 類名.objects.get(查詢條件)
增:對象名.屬性名
刪:對象名.delete()
二、模型類關係
- 一對多,modkes.ForeignKey()
- 多對多 models.ManyToManyField()
- 一對一,models.OntToOneField()
關聯查詢:
- 通過模型類實現關聯查詢時,要查哪個表中的數據,就需要通過哪個類來查
- 寫關聯查詢條件的時候,如果類中沒有關係屬性,條件需要對應類的名,如果類中有關係屬性,直接寫關係屬性
三、元選項
元選項:指定模型類生成的數據表的表名,需要在模型類中創建一個Meta類
方法:在模型類中創建一個Meta類
class Meta:
db_table = ‘自定義表名’