私は医者のオフィスの予定マネージャーを開発しています。 スケジュールを作成するオプションがあります。例えば、週に3回(月曜日、水曜日、金曜日)に来ることを希望する場合は、01/02/17から9:00まで、02/24/17まで開始日、終了日、時刻、曜日などのデータを入力するだけでスケジュールを作成できます。 アプリはその時間に予定がすでに予約されているため、スケジュールを変更するか受け入れてもらうことができます。これにより、以前に占有していた予定をスキップするスケジュールが作成されます。 私は次のコードDjango:状態を評価する最善の方法
monday = models.BooleanField(default=False)
tuesday = models.BooleanField(default=False)
wednesday = models.BooleanField(default=False)
thursday = models.BooleanField(default=False)
friday = models.BooleanField(default=False)
saturday = models.BooleanField(default=False)
を持っている私のSchedule
モデル予定がすでに入力された日付の間に予約されている場合、私はトラブルをチェックするための最良の方法を考え出すを抱えているではアプリ を開発するためのDjangoフレームワークを使用しています。
私は例を残しておきますので、問題がクリアされている場合は、私にはわからない:
私は9時毎週火曜日と木曜日02/24/17に01/02/17から予定をスケジュールしたいです:00。 もう1人の患者のために、01/19/17に9時に予定が作成されました。アプリはこれをユーザーに警告する必要があります。
appointments = Appointment.objects.filter(date__range=[start_date, end_date])
for appointment in appointments:
if monday and appointment.weekday() == 0:
check if appointment time == input time
do something
elif tuesday and appointment.weekday() == 1:
check if appointment time == input time
do something
elif wednesday and appointment.weekday() == 2:
check if appointment time == input time
do something
elif thursday and appointment.weekday() == 3:
check if appointment time == input time
do something
elif friday and appointment.weekday() == 4:
check if appointment time == input time
do something
elif saturday and appointment.weekday() == 5:
check if appointment time == input time
do something
おそらく、データベースから同じを持ってこれらの日付の間の唯一の予定を取得する方法があります:私はこれをチェックではなく、より良い方法があるかどうかを知りたいのですが
スケジュールの入力時刻として時刻を指定します。
これは多少分かりやすいと思っています。