ORMの追加、削除、変更
追加する2つの方法
- 保存する()
- モデルクラスで保存
注:外部キー情報を追加する操作は次のとおりです。
herozhu = HeroInfo.objects.create(
hname = "猪八戒",
hgender = 0,
hdesc = 'houhouhou',
hbook = book
)
herosha = HeroInfo.objects.create(
hname = "沙悟净",
hgender = 1,
hdesc = '呵呵',
hbook = book
)
データの
変更変更と更新には2つの方法があります:
1)モデルクラスオブジェクトの属性を変更してから、save()メソッドを実行します
。2)モデルclass.objects.filter()。update()を使用します。影響を受ける行数を返します。
この時点で、データベースコンテンツは両方とも正常に変更され、
データ
が削除されます。削除するには2つの方法があります
。1)モデルクラスオブジェクト
この時点でデータベースコンテンツを削除します
。2)モデルclass.objects.filter( ).delete()
この時点でデータベースの内容:
基本的なクエリ
使用法:
get:查询单一结果,如果不存在会抛出DoesNotExist异常,如果存在多个结果会报MultipleObjectsReturned异常
all:查询多个结果
count:查询结果数量
クエリのフィルタリングクエリを実行する場合
、__(二重下線)は判断を意味します
- フィルタ:複数の結果を除外します
- 除外:条件を満たす残りの結果を除外します
- get:単一の結果をフィルタリングする
- 正確:判断が等しいことを示します
- 含む:含まれるかどうかを示します
- startwithおよびendswith:指定された開始または終了
- isnull:それはnullですか
- 除外:フィルター
- で:範囲に含まれるかどうか
- gt:より大きい
- gte:以上
- lt:未満
- lte:
FおよびQオブジェクト以下
1)F:
前のクエリは、オブジェクトのプロパティを定数値と比較することです。2つのプロパティはどのように比較されますか?回答:django.db.modelsで定義されているFオブジェクトを使用してください。
構文:F(属性名)
导包:from django.db.models import F,Q
2)Q:
SQLステートメントのwhere部分のandキーワードと同じように、論理と関係を示すために複数のフィルターが1つずつ呼び出されます。
mysqlにnotおよび
oraggregate関数とsort関数を実装します
。1)Aggregate関数:
aggregate()フィルターを使用してaggregate関数を呼び出します。集計関数には、django.db.modelsで定義されている平均平均、カウント数、最大最大、最小最小、合計の合計が含まれます。
並べ替え:
order_byを使用して結果を並べ替えます