タグ付けされた質問 「prefetch」

3
djangoのprefetch_related()がall()でのみ機能し、filter()では機能しないのはなぜですか?
私がこのモデルを持っているとしましょう: class PhotoAlbum(models.Model): title = models.CharField(max_length=128) author = models.CharField(max_length=128) class Photo(models.Model): album = models.ForeignKey('PhotoAlbum') format = models.IntegerField() ここで、アルバムのサブセット内の写真のサブセットを効率的に見たい場合。私はそれを次のようにします: someAlbums = PhotoAlbum.objects.filter(author="Davey Jones").prefetch_related("photo_set") for a in someAlbums: somePhotos = a.photo_set.all() これは2つのクエリのみを実行します。これは私が期待するものです(1つはアルバムを取得し、もう1つは `SELECT * IN photos WHERE photoalbum_id IN()のようなものです。 すべてが素晴らしいです。 しかし、私がこれを行う場合: someAlbums = PhotoAlbum.objects.filter(author="Davey Jones").prefetch_related("photo_set") for a in someAlbums: somePhotos = a.photo_set.filter(format=1) …
89 django  orm  filter  prefetch 

3
Webpackで、スクリプトを評価せずにインポートするにはどうすればよいですか?
私は最近、いくつかのウェブサイト最適化作業に取り組んでおり、次のようなimportステートメントを使用して、webpackでコード分割を使用し始めます。 import(/* webpackChunkName: 'pageB-chunk' */ './pageB') これでpageB-chunk.jsが正しく作成されます。ここで、このチャンクをpageAでプリフェッチしたいとします。これを行うには、次のステートメントをpageAに追加します。 import(/* webpackChunkName: 'pageB-chunk' */ /* webpackPrefetch: true */ './pageB') その結果、 <link rel="prefetch" href="pageB-chunk.js"> HTMLの先頭に追加されると、ブラウザはそれをプリフェッチします。 問題は、私がここで使用するインポートステートメントであり、jsファイルをプリフェッチするだけでなく、jsファイルを評価します。つまり、そのjsファイルのコードが解析されてバイトコードにコンパイルされ、そのJSの最上位コードが実行されます。 これはモバイルデバイスでの非常に時間のかかる操作であり、最適化したいのですが、プリフェッチ部分だけが必要です。評価と実行の部分は必要ありません。後でユーザーインタラクションが発生したときに解析がトリガーされるためです。自分を評価する 私は最初の2つのステップをトリガしたい↑↑↑↑↑↑↑↑、写真から来https://calendar.perfplanet.com/2011/lazy-evaluation-of-commonjs-modules/ ↑↑↑↑↑↑↑ ↑↑ 確かに私はプリフェッチリンクを自分で追加することでこれを行うことができますが、これはプリフェッチリンクに配置する必要があるURLを知る必要があることを意味します、webpackはこのURLを確実に知っています。 これを達成する簡単な方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.