Django Messaging Framework в функции save()

Я проверяю, существует ли уже экземпляр модели, и если да, то хочу отправить сообщение "Имя уже существует". Поскольку в def save() нет запроса, есть ли другой способ отправить сообщение через Django message framework или что-то еще?

def save(self, *args, **kwargs):
    self.name = self.name
    if Name.names.name_exists(self.name):
        message = "You already have this name!" # want to send this message
        print("not created")
    else:
        print("created")
        super(Name, self).save(*args, **kwargs)

Да, вы можете использовать django messages framework, используя messages.warning(request, 'Object already exists.') вместо этого оператора print и в зависимости от вашей логики вместо предупреждения вы можете отправлять сообщения об успехе или информацию. В вашем шаблоне вы можете использовать;

{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}

Но эта опция будет доступна для слоя представления, а не для слоя модели. Не забудьте ознакомиться с документацией.

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