Ruff django-non-leading-receiver-decorator (DJ013)

django-non-leading-receiver-decorator в Ruff проверяет код на предупреждение DJ013. Правило относится к группе flake8-django.

Почему это неправильно

В Django такие конструкции могут нарушать соглашения фреймворка, ухудшать работу моделей или затруднять миграции.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила django-non-leading-receiver-decorator и пример ниже.

Пример ошибки

from django.dispatch import receiver
from django.db.models.signals import post_save


@transaction.atomic
@receiver(post_save, sender=MyModel)
def my_handler(sender, instance, created, **kwargs):
    pass

Как правильно

from django.dispatch import receiver
from django.db.models.signals import post_save


@receiver(post_save, sender=MyModel)
@transaction.atomic
def my_handler(sender, instance, created, **kwargs):
    pass

Автоисправление

Ruff не предлагает автоисправление для этого правила.