Администратор Django увеличивает время отклика - PullRequest
0 голосов
/ 05 мая 2019

Я недавно добавил приложение в свое веб-приложение Django. Я сбит с толку проблемой, которая происходит. Когда я добавляю приведенный ниже файл admin.py в приложение и внедряю код, время отклика увеличивается во многих областях сайта, причем многие области не связаны. Что-то не так в том, как написан ModelAdmin? Кто-нибудь испытывал это раньше? Я использую Django 1.11.

admin.py:

class SubscriberAdmin(admin.ModelAdmin):
    list_display = ('email',)
    fields = ('email', 'verified')
    readonly_fields = ('email', 'verified')
    list_per_page = 50


admin.site.register(Subscriber, SubscriberAdmin)

models.py:

class Subscriber(models.Model):
    email = models.EmailField(null=False, unique=True)
    activation_key = models.CharField(max_length=64)
    key_expires = models.DateTimeField(default=get_key_expiration)
    verified = models.BooleanField(default=False)

    agency_class = {}
    agency_type = None

    @classmethod
    def send_notifications(cls, agency_type, slugs):
        """
        Sends notification emails to all subscribers.
        :param agency_type: 'salary' or 'pension'
        :param slugs: [list of agency slugs]
        """
        cls._set_agency_type(agency_type)

        subscribers = cls.objects.all()
        for subscriber in subscribers:
            subscriber._send_notification(slugs)

    def _send_notification(self, slugs):
         # code removed for brevity

1 Ответ

0 голосов
/ 06 мая 2019

Может быть, проблема в get_key_expiration. Может быть, функция вызывается каждый раз, когда создается подписчик объекта, а функция работает медленно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...