Djangoでデータベースのデータを取得する方法
Djangoでは、次の方法でデータベースのデータ操作を行うことができます。
- ORM(オブジェクトリレーショナルマッピング)を利用:Djangoが備える高水準のORMにより、ネイティブなSQL文を書くことなく、Pythonコードから直接データベースを操作できます。まず、Djangoの設定ファイルでデータベース接続情報を設定します。次に、アプリケーション側で、Djangoのモデル(Model)を使ってデータテーブルの構造を定義します。クエリー(Query)オブジェクトを用いれば、フィルタリング、並び替え、更新など、さまざまなデータベース操作を実行できます。クエリーの結果はモデルインスタンスとして返却され、インスタンスの属性から具体的なデータベースフィールドデータにアクセスできます。
ネイティブの日本語で言い換える簡単な例:
from myapp.models import MyModel
# 查询所有数据
all_objects = MyModel.objects.all()
# 过滤数据
filtered_objects = MyModel.objects.filter(field1='value1')
# 排序数据
sorted_objects = MyModel.objects.order_by('field1')
# 更新数据
MyModel.objects.filter(field1='value1').update(field2='new_value')
# 删除数据
MyModel.objects.filter(field1='value1').delete()
- 繋がり
以下に簡単な例を挙げます
from django.db import connection
# 执行原生SQL查询
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM myapp_mymodel WHERE field1 = %s", ['value1'])
result = cursor.fetchall()
# 处理查询结果
for row in result:
# 处理每一行数据
...
ORMかネイティブSQLクエリを使う場合はいずれもアプリケーションに関連するモデルやデータベース接続オブジェクトをインポートし、必要に応じて操作を行う必要がある