Есть ли способ переопределить модель 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)

Сообщите мне ваши мысли, спасибо!

Вернуться на верх