我有以下 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 对象表示按日期和时间排序的事件。我需要确保交替出现“打开”或“关闭”事件(即没有两个连续的“打开”或“关闭”事件),所以如果我尝试在另一个“打开”事件之后插入一个“打开”事件插入被阻止,但我不知道如何做到这一点。
我应该在覆盖的保存方法中对现有记录进行检查吗?