解決済み: django モデルはすべて取得します

Django モデルにクエリを実行すると、すべてが取得されるという問題があります。 これは、モデルが別のモデルと多対多の関係にあり、クエリ モデルが他のモデルのデータにもアクセスしようとした場合に発生する可能性があります。 これにより問題が発生する可能性があります。これは、クエリ モデルが検出するはずのデータを検出できないか、検出するデータが多すぎる可能性があるためです。

 objects

There is no built-in method to get all objects from a Django model. However, you can query the model's manager for all objects:

MyModel.objects.all()

インスタンスごとにすべてのオブジェクトを取得する

Django では、get_object() 関数を使用して、特定のインスタンス内のすべてのオブジェクトを取得できます。 この関数は、インスタンスの名前とオブジェクト タイプの XNUMX つの引数を取ります。 たとえば、MyModel のインスタンスである myapp インスタンス内のすべてのオブジェクトを取得するには、次を使用します。

get_object('myapp', MyModel)

すべてのオブジェクトを取得する方法

Django ですべてのオブジェクトを取得する方法はいくつかあります。 XNUMX つの方法は、list() 関数を使用することです。 list() 関数は唯一の引数として整数を取り、ID としてその番号を持つすべてのオブジェクトのリストを返します。 たとえば、データベース内のすべてのオブジェクトを取得する場合は、次のコードを使用できます。

リスト(1)

これにより、次が返されます。

[django.contrib.auth]

関連記事:

コメント