Есть ли способ переопределить модель ClockedSchedule из Django Celery Beat?
Я хочу добавить атрибут unique=True к полю clocked_time модели ClockedSchedule. Текущий сценарий таков: когда несколько потоков пытаются получить_или_создать расписание, создается более одной похожей записи, учитывая, что расписание не найдено, и когда в следующий раз какой-то поток пытается получить расписание, он бросает исключение MultipleObjectsReturned. Поэтому я подумал, что здесь может сработать добавление ограничения БД. Прикрепляю код для справки:
schedule, created = ClockedSchedule.objects.get_or_create(**clocked_options)
return schedule
А модель выглядит следующим образом:
class ClockedSchedule(models.Model):
"""clocked schedule."""
clocked_time = models.DateTimeField(
verbose_name=_('Clock Time'),
help_text=_('Run the task at clocked time'),
)
class Meta:
"""Table information."""
verbose_name = _('clocked')
verbose_name_plural = _('clocked')
ordering = ['clocked_time']
def __str__(self):
return '{}'.format(self.clocked_time)
Сообщите мне ваши мысли, спасибо!