0
このコードでは、SQLクエリは 'all_user_videos'のみで実行され、その後のフィルタは 'all_user_videos'に格納された結果を使用してフィルタを実行すると考えました。新しいSQLクエリを起動せずにクエリ結果をフィルタリングする
# Get all user videos
all_user_videos = Video.objects.filter(author = user)
# User pending videos
pending_videos = all_user_videos.filter(status = 'pending_review')
# Get user Video that need information
info_required_videos = all_user_videos.filter(status = 'info_required')
# Get user video on sale
on_sale_videos = all_user_videos.filter(status = 'on_sale')
context = {
"user_member_profile": instance,
'pending_videos' : pending_videos,
'info_required' : info_required_videos,
'on_sale' : on_sale_videos
}
それぞれのフィルタがクエリを実行しているようです。 pending_videos、info_required_videos、on_sale_videosがクエリを再起動せず、 'all_user_videos'のクエリの結果を使用するようにするにはどうすればよいですか?
それはあなたに感謝動作しますが、あなたは正規表現を使用する理由私は得ることはありません。これはうまくいきません...ユーザーからのすべてのビデオを取得し、それぞれの場合に必要なところで理解を使用してください。 –
'すべてのビデオをユーザーから取得する '、これには' pending_review' | info_required | on_sale'。 Regexはall_videosリストをいくらか減らすのに役立ちます。 –