@ekzotika

Как обновить Django модель при изменении (переопределить метод save)?

В модели есть поле "content". Необходимо при изменении этой модели искать в поле content символ <a и дописывать в него (как будто в тег) строчку rel=nofollow. Всё это пытаюсь сделать функцией в файле models.py. Подскажите, как это сделать?

Функция save для этой модели:

def save(self, *args, **kwargs):
        if (self.original_price
                and not isinstance(self.original_price, Decimal)):
            self.original_price = Decimal(self.original_price)

        if self.parent_id is not None and self.parent_id == 0:
            self.parent = None

        # Если товар не доступен для заказа, то amount_europe и
        # amount_moscow считаем что не заданы
        if self.amount_free == 0:
            self.amount_europe = None
            self.amount_moscow = None

        if self._state.adding:
            self.sort_order = 0

        if self.content:
            self.content = self.content.replace('\n', '<br>')
            if '<a ' in self.content or '<iframe ' in self.content:
                self.content = re.sub(r'<.*?>', '', self.content,
                                      flags=re.IGNORECASE)

        # Устанавливаем цену для сортировки
        self.price_ordering = self.get_price()

        super().save(*args, **kwargs)
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы