ある種のスケジュールを管理するためのウェブサイトを作っています。
カレンダーなどを調べてみたところ、グーグルのカレンダーのこのフォームが私が欲しいものであることがわかりました。
問題は、私がFinaliza
フィールドを解決する方法を理解するのに苦労しているということです。モデルを持ってReminder
いますが...オプションごとに列を作成して、フォームウィジェットを試してみる必要がありますか?使用できる缶詰のソリューションはありますか?
ある種のスケジュールを管理するためのウェブサイトを作っています。
カレンダーなどを調べてみたところ、グーグルのカレンダーのこのフォームが私が欲しいものであることがわかりました。
問題は、私がFinaliza
フィールドを解決する方法を理解するのに苦労しているということです。モデルを持ってReminder
いますが...オプションごとに列を作成して、フォームウィジェットを試してみる必要がありますか?使用できる缶詰のソリューションはありますか?
モデルに列を追加してみませんか。
finalize_type = models.CharField(choices=(('Never', ''), ('Repetitions', ''), ('Date', '')))
finalize_repetitions = models.IntegerField()
finalize_date = models.DateField()
# model clean!
def clean(self):
if finalize_type == 'Repetitions':
# check that there is number in finalize_repetitions
# raise validation error if not
elif finalize_type == 'Date':
# check date on finalize_date
# You should also check if date and repetions aren't set when type == 'Never'
私が正しく覚えていれば、モデルは保存時にクリーンに起動します。したがって、ModelFormを実装する場合は、フォームエラーに表示されるはずです。
メソッドも実装します
@property
def next_event()
"""returns date of next repetition, None if finished"""
それが役に立てば幸い。