Djangoで既存のデータベースからデータをフェッチする方法
Djangoでは既存のデータベースのデータを取得するためのモデル(Model)を利用できます。
最初にDjangoプロジェクトを作成し、データベースへの接続情報を設定してください。
次に、データベースのテーブルを表すモデルを作成する必要があります。Django では、モデルは django.db.models.Model を継承する Python クラスです。たとえば、データベースに Person という名前のテーブルがあるとします。それに対応するモデルクラスを以下のように作成できます。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
上の例では、Personモデルはnameとageという2つのフィールドを持ち、それらはデータベースのnameとageのフィールドに対応しています。
モデルを定義すると、Djangoは自動的にモデルのデータベーステーブルを生成します。提供されたDjangoのデータベースマイグレーションツールを使用してデータベースマイグレーションを実行し、データベーステーブルを作成または更新することができます。
完成上述步骤后,你可以使用模型的查询方法来获取已有数据库的数据。例如,要获取Person模型中的所有记录,你可以使用以下代码:
persons = Person.objects.all()
記載のコードはPerson テーブルのデータベースにあるすべてのレコードを表すQuerySet オブジェクトを返します。 QuerySet オブジェクトを介して各レコードのフィールドの値にアクセスできます。例えば、すべての人の名前と年齢を出力するには、以下のコードを使用できます。
for person in persons:
print(person.name, person.age)
Djangoでは、`all`メソッドのほかに、`filter`、`exclude`、`get`など、条件を指定してデータベースからデータを取得するためのさまざまなクエリメソッドを提供しています。状況に応じて適切なクエリメソッドを選択してください。
データベースからデータを取得するには、データベースのテーブルを表すモデルを定義し、モデルのクエリメソッドを使用してデータを取得します。