一起學Django(伍)——模型類命令的使用

上一篇文章我們瞭解瞭如何使用模型類創建數據表,這一篇我們就來看看對於創建的表數據,我們如何在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()

 

二、模型類關係

  1. 一對多,modkes.ForeignKey()   
  2. 多對多    models.ManyToManyField()
  3. 一對一,models.OntToOneField()

關聯查詢:

  1. 通過模型類實現關聯查詢時,要查哪個表中的數據,就需要通過哪個類來查
  2. 寫關聯查詢條件的時候,如果類中沒有關係屬性,條件需要對應類的名,如果類中有關係屬性,直接寫關係屬性

三、元選項

元選項:指定模型類生成的數據表的表名,需要在模型類中創建一個Meta類

方法:在模型類中創建一個Meta類

       class Meta:

              db_table = ‘自定義表名’

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章