私は次のDjangoモデルを持っています:
class BarEvent(models.Model):
EVENT_TYPES = ( ('op', 'opening'), ('cl', 'closing'), ('ea', 'event_a'), ('eb','event_b') )
event_type = models.CharField(max_length=2, choices=BAR_BALANCE_TYPES)
date = models.DateField("Data", default=datetime.now)
ここで、BarEventオブジェクトは、日付と時刻でソートされたイベントを表します。'opening'または'closeing'イベントが交互になっていることを確認する必要があります(つまり、'opening'または'closeing'イベントが2つ連続していない)。したがって、'opening'イベントを別の'opening'イベントの後に挿入しようとすると挿入は防止されますが、これを行う方法がわかりません。
オーバーライドされた保存メソッドで既存のレコードのチェックを実装する必要がありますか?