QuerySetがビューでフェッチされ、テンプレートに渡されました -- django フィールド と django-templates フィールド 関連 問題

Queryset fetched in view and passed to template












0
vote

問題

日本語

ビューで既に評価されていたQuerySetがテンプレートに渡された場合はどうなりますか?それを繰り返すことでキャッシュを使用するか、または別のDBクエリをトリガーしますか?

View.py

<事前> <コード> books = Books.objects.all() len (books) #from db for book in books: # from cache ....

テンプレート

<事前> <コード> for book in books: #uses cache or db? ....
英語

What happens if a queryset that was already evaluated in view, is passed to a template? Iterating through it would use the cache or it trigger another db query?

views.py

books = Books.objects.all() len (books) #from db for book in books: # from cache     .... 

template

for book in books: #uses cache or db?     .... 
</div
     
 
 

回答リスト

0
 
vote

別のDBクエリをトリガーします。 DBクエリを作成しないで、迅速になりますが、JSONでデータを送信してみてください。

またはあなたはできる:

<事前> <コード> digitalWrite(3, !switchL ); digitalWrite(4, switchL && !switchR); digitalWrite(5, switchL && switchR); digitalWrite(6, !switchL && switchR); digitalWrite(7, !switchR); 5

データのセットを持つ場合は、クエリセットでテンプレートレンダリングには行かないでください。しかし、データが小さい場合は、大丈夫です。

これが役立つことを願っています。

 

It triggers another DB query. Try sending the data in JSON which will not make any DB queries and will be a lot quicker.

Or you can do :

books = Books.objects.values() // this will returns dictionaries books = Books.objects.value_list() // this returns tuples when iterated over. 

If you have a large set of data then don't go for template rendering with the query set. But for smaller data, it works just fine.

Hope this helps.

</div
 
 

関連する質問

1  管理テンプレートオーバーライド無視されたタイトルブロック  ( Admin template override ignored title block ) 
/project_dir/templates/admin/base_site.html にカスタムバージョンのbase_site.htmlを作成するときに、タイトルブロックはオーバーライドされません。正しいテンプレートはレンダリングされていますが、次のよう...

2  Djangoは異なる基本テンプレートを拡張します  ( Django extends different base templates ) 
私はテンプレートの「拡張変数」を使用して2つの異なる拡張テンプレートを切り替えることができます。 e.g. <事前> <コード> views: if something: base = 'base1.html' el...

7  Django - 多言語とテンプレート側の言語間の切り替え  ( Django multilingual and switching between languages on template side ) 
Django-Multilingualを使用しようとしていて、正しく設定しています。しかし、私が見つけたことは、テンプレートの使用例を除いて、すべてがDjango-Multilingualのためにクリアされていることです。 私はちょうどDjangoを使い始め...

6  DjangoのGravatarを使用してください  ( Using gravatar in django ) 
私は gravatars で喜んでいます。 アプリケーション<コード> cw では、次のアーキテクチャを使用して<コード> templatetags ディレクトリを作成しました。 <事前> <コード> cw/ templatetags/ ...

43  テンプレート内からDjangoフォームウィジェットの種類を取得します  ( Get type of django form widget from within template ) 
フォームのフィールドと特定のフィールドのために繰り返します。の変更を必要としています。 これを正確に行うためには、ウィジェットの種類を知る必要があります。そのクラス名または似たもの。標準的なPythonでは、これは簡単です! <コード> field.field...

2  DjangoリストのデータをJavaScriptリストに渡しながらエラーを取得する  ( Getting error while passing data of django list to javascript list ) 
私はPython-Djangoリストを持っています: <事前> <コード> list_a = ['user_a', 'user_b'] 次のコードを使用してテンプレートにレンダリングします。 <事前> <コード> extra_context = { ...

20  Djangoテンプレートのためのビジュアルエディタ?  ( Visual editor for django templates ) 
Djangoテンプレートを視覚的に構築するためのツールはありますか? ありがとう ...

3  テンプレートDjangoでフォームセットをレンダリングし、垂直テーブルを作成する方法  ( How to render formset in template django and create vertical table ) 
このテーブルを作成する方法FormsetとExtra = 3? テーブル: <事前> <コード> | my name first column | second column | third column | fourth column | | formse...

2  DjangoテンプレートURLタグを使用する場合は、URLで自動的に挿入されたプロジェクト名  ( Project name inserted automatically in url when using django template url tag ) 
現在のDjangoプロジェクトのすべてのリンクに 'URL'テンプレートタグを適用しています。 私は私のURLがそのように名前を付けました... <事前> <コード> url(r'^login/$', 'login', name='site_login')...

1  Django-ImageKit - デフォルトのアバター画像への静的リンクを追加する  ( Django imagekit add a static link to a default avatar picture ) 
私は django-imagekit を使用して、Avatarという名前のモデルから画像のURLを取得します。これ: views.py <事前> <コード> my_results = SearchQuerySet().all() try: ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有