Wa:tta Taxi (3)
♥#今日は覚えておきたいこと! none値の場合、 sort Q Gitをプッシュする前に...
git add .
git commit
git checkout main
git pull origin main
git checkout feature/search(ブランチ)
git rebase -i main
git push origin feature/search
お願いします.忘れないで・・・😳
departure_time = request.GET.get('departure_time', '1900-01-01 23:59')
price = request.GET.get('price', 60000)
taxi_company = request.GET.getlist('taxi_company', ['Dasul Taxi', 'Taxi Choi-gging', 'Art Transportation', 'Lama 운수', 'DaMo taxi', 'Muy bien Trans'])
sort = request.GET.get('sort', None)
query parameterから値を受け取り、値に入るとOKですが、値に入らなければNone、そうでなければそのまま値を指定するべきです.価格なら6000がデフォルト、タクシー会社ならその値も指定します.sort_list = {
'dep_time_late' : 'course__departure_time',
'dep_time' : '-course__departure_time',
'price' : '-price',
None : '-price'
}
sort = None if sort not in sort_list else sort
sort_string = sort_list[sort]
schedules = Schedule.objects.filter(
Q(date=departure_date)
& Q(seat_type__name=seat_type)
& Q(course_id__in=[course.id for course in courses])
& Q(seat_remain__gte = seat_remain)
& Q(price__lte=price)
& Q(course__taxi_company__name__in = taxi_company)
& Q(course__departure_time__lte = departure_time)).order_by(sort_string)[0:300]
sortの場合、sortリストを作成してsort値を指定し、値が入力されていない場合はdefault値-priceとして指定します.sort stringという変数にsort list[sort]を入れ、order byを使用して値をソートすれば、より簡単に処理できます.schedules = Schedule.objects.filter(
Q(date=departure_date)
& Q(seat_type__name=seat_type)
& Q(course_id__in=[course.id for course in courses])
& Q(seat_remain__gte = seat_remain)
& Q(price__lte=price)
& Q(course__taxi_company__name__in = taxi_company)
& Q(course__departure_time__lte = departure_time)).order_by(sort_string)[0:300]
ここでQは、実施すべき条件を決定するために使用される.&接続.filterで一時停止すると、scheduleテーブルがデフォルトで参照されます.courseのtaxie company列のnameを取得するには、underbar(検索関数)を使用してcourse taxie company nameを書くと、他のテーブルを簡単に参照して必要な資料値を取得できます.git add .
git commit
git checkout main
git pull origin main
git checkout feature/search(ブランチ)
git rebase -i main
git push origin feature/search
お願いします.忘れないで・・・😳
Reference
この問題について(Wa:tta Taxi (3)), 我々は、より多くの情報をここで見つけました https://velog.io/@majaeh43/TIL-Watta-Taxi-projectテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol