シングルテーブルCRUD
----- 2つの方法の増加
この方法の一つ:
models.Teacher.objects.create(TNAME = "李")
方法2:
OBJ = models.Teacher(TNAME = "王")
obj.save()
-----お問い合わせ
1、すべての値を取得
OBJ = models.Teacher.objects.all()
印刷(OBJ)
<クエリセット[<先生:張>、<先生:張>、<先生:LI>、<教師:王>]>
2、最初の値を取得します
OBJ = models.Teacher.objects.first()
印刷(OBJ)
張
図3に示すように、最終的な値を得るために
OBJ = models.Teacher.objects.last()
印刷(OBJ)
王
4、いずれかのクエリ
OBJ = models.Teacher.objects.filter(ID = 3)
印刷(OBJ)
<クエリセット[<教師:LI>]>
図5に示すように、クエリIDは2先生よりも大きいです
OBJ = models.Teacher.objects.filter(id__gt = 2)
印刷(OBJ)
<クエリセット[<先生:LI>、<教師:王>]>
図6は、クエリIDは、最初の教師2よりも大きいです
OBJ = models.Teacher.objects.filter(id__gt = 2)1次回()
印刷(OBJ)
リー
-----修正
models.Teacher.objects.filter(ID = 3).update(TNAME = "wangsi")
-----削除
models.Teacher.objects.filter(ID = 3).delete()
view.py
django.shortcuts インポートレンダリング、のHttpResponse、リダイレクト から ormapp インポートモデル DEF 指数(要求):# は2つの方法によって増加 #models.Teacher.objects.create(TNAME = "李") #OBJ = models.Teacher(TNAME = "王") #obj.save() #の問い合わせ #OBJ = models.Teacher.objects.all()すべて取得します 。#OBJ = models.Teacher.objects.first()は、最初に取得します 。#OBJ = models.Teacherを。 )(objects.last取得最後 #OBJ = models.Teacher.objects.filter(のID = 3)のいずれかのクエリでは、 #OBJ = models.Teacher.objects.filter(id__gt = 2)より大きく2教師クエリのIDである #最初の教師OBJ = models.Teacher.objects.filter(id__gt = 2) 1次回() クエリIDは2より大きい models.Teacher.objects.filter(ID = 3).Update(TNAME = " wangsi " ) モデル。 Teacher.objects.filter(上記ID = 3 ).Delete() を返す(のHttpResponseを" 成功を充填")
models.py
django.db 輸入モデル クラスの先生(models.Model): TNAME = models.CharField(max_lengthを= 32 ) デフ __str__ (自己): リターンself.tnameの クラスのクラス(models.Model): タイトル = models.CharField(max_lengthを= 32 ) CT = models.ManyToManyField(" 先生" ) デフ __str__ (自己): リターンself.nameの クラスの生徒(models.Model): 名前 = models.CharField(max_lengthを= 32 ) 、年齢Models.BooleanField =(デフォルト= ' M ' ) SC = models.ForeignKey(クラス、on_delete = 真) "" " 情報を表示し、各データオブジェクトを定義する" "" DEF __str__ (自己): 戻ります self.nameを
urls.py
""」 django.contribインポート管理者から django.urlsからパスをインポート ormappインポートビューから = urlpatterns [ パス( 'インデックス/'、views.index) ]