Будет ли правильным, если собственность изменит данные?

    @property
    def check_too_much_sent_confirmation(self):
        if self._count_of_hashes_sent >= 3:
            if UTC.localize(datetime.now()) <= self.updated_at + timedelta(minutes=10):
                return True
            else:
                self.reset_count_of_hashes_sent()
        return False

    def reset_count_of_hashes_sent(self, commit=False):
        self._count_of_hashes_sent = 0
        self._save_if_commit(commit)

В приведенном выше коде check_too_much_sent_confirmation проверяет, может ли пользователь отправить код подтверждения еще раз, ему дается 3 попытки каждые 10 минут.

self.reset_count_of_hashes_sent()

Строка выше сбрасывает количество попыток.

Правильно ли, что метод вызывается из функции свойства, которая изменяет данные в базе данных? Или лучше вызывать эту функцию отдельно?

Свойство должно просто возвращать данные и не изменять состояние модели/базы данных.

Создайте метод, который может проверять и увеличивать одновременно.

Или изменить свойство на просто check и повторно использовать свойство в новом методе для проверки & increase.

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