から「サブ」オブジェクトを取得しますapp_user.user_businesses_likes
(リストをループしてbusiness_like.businessで新しいリストを作成することなく)?Djangoはオブジェクトリスト
答えて
あなたはvalues
またはvalues_list
を使用することができます。
businesses = BusinessLike.objects.values('business')
businesses = BusinessLike.objects.values_list('business', flat=True)
しかし、これはあなたのオブジェクトのリストを与えることはありません、あなただけの外部キーIDのリストを取得します。
Django doc約values and value_list。
あなたは追加の検索あなたがbusiness_like.business
を行うたびにされないようにしたい場合は、あなたがselect_related
使用することができます。この場合、
business_likes = BusinessLike.objects.select_related('business')
を各BusinessLike
オブジェクトのときループとbusiness_like.business
を行い、Djangoは参加しません。もうデータベースはキャッシュされています。
オブジェクトのlisstにこの外部キーのリストを作成するにはどうすればよいですか? –
'Business.objects.filter(id__in = ids)'という別のルックアップを行うこともできますが、効率的ではなく、通常は行いません。もしあなたが 'BusinessLike'のリストを持っていれば、'ビジネス 'のリストを持っているのと同じことです。とにかくいつでもそれをループする必要があるからです。 –
まあ、私が言ったように、それは同じことではありませんが、 '__in'はうまくいくはずです。 –
ビューでこれを実行している場合は、Business
モデルで始まる新しいクエリーセットを作成する方が簡単です。
businesses = Business.objects.filter(business_likes__user=app_user)
このようなBusinessLike
モデルを作成する必要があるかどうかはわかりません。 AppUser
モデル(または希望する場合はBusiness
モデル)に多対多のフィールドを追加できます。
class AppUser(models.Model):
business_likes = models.ManyToManyField(Business)
Djangoは中間テーブルを作成するの世話をし、その後、あなたは次のようにクエリを行うことができます。
businesses = app_user.business_likes.all()
- 1. Django mlbgameオブジェクトリストのリスト
- 2. Djangoで(クラスベースの)汎用オブジェクトリストのフィルタフォームを作成するには?
- 3. メソッドは、階層型のオブジェクトリスト
- 4. LINQのは、オブジェクトリストにリスト
- 5. は、子エンティティオブジェクト内のオブジェクトリスト
- 6. オブジェクトリストで検索
- 7. オブジェクトリストの検索
- 8. ループスルーJSONオブジェクトリスト
- 9. デシリアライズの問題オブジェクトリスト
- 10. 複数のフィールドを使用して検索Django(オブジェクトリストを構築する)
- 11. ソート方法オブジェクトリストの配列javaでは?
- 12. linq string.contains子オブジェクトリストのフィールド
- 13. asp.net mvcのオブジェクトリストを表示
- 14. JSONをC#オブジェクトリストにデシリアライズ
- 15. Grails - DomainオブジェクトリストのHibernate/Validation
- 16. オブジェクトリストを日付順にソート
- 17. クラス定義内のオブジェクトリスト
- 18. オブジェクトリストからCSVを生成
- 19. オブジェクトリストのシリアル化の問題
- 20. 動的オブジェクトリストをリピータコントロールにバインド
- 21. 戻るjsonオブジェクトリストspring mvc controller
- 22. jsRenderデータ属性のオブジェクトリスト
- 23. nhibernateリストを別のオブジェクトリストでフィルタリングする
- 24. オブジェクトリストにnull値を設定する
- 25. どのようにオブジェクトリスト要求
- 26. vb.netカスタムオーダーのオブジェクトリストの並べ替え
- 27. オートマッペを使ってオブジェクトリストをマップする
- 28. オブジェクトリストのフィルタを作成する
- 29. オブジェクトリストの観察可能なコレクション
- 30. オブジェクトリストの落ち込み検証
'app_user.user_businesses_likes'は何ですか?あなたは正確に何をしたいですか?詳細を教えてください! – DhiaTN