Djangoフレームワークの基本的な学習(3)-データベース操作

ORMの追加、削除、変更

追加する2つの方法

  1. 保存する()ここに画像の説明を挿入
  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を使用して結果を並べ替えます
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_45946270/article/details/115334721
おすすめ