Как использовать 'self' в фоновой функции задачи в Django? - PullRequest
0 голосов
/ 02 мая 2020

У меня есть проект Django, и я использовал библиотеку django -background-tasks для своих фоновых процессов. Я создал класс для этой фоновой задачи, и моя функция bgtask находится в этом классе. Я хочу использовать 'self' в этой функции, но я получил ошибку, такую ​​как missing 1 required positional argument: 'self'

Мой код такой, как показано ниже;

class Progress:
    def __init__(self):
        self.progress = 0
        self.increase(5)

    @background()
    def increase(self, num):
        for i in range(num):
            self.progress += 8

Как я могу исправить эту ошибку?

1 Ответ

0 голосов
/ 02 мая 2020

Имеет ли фоновый класс в вашем случае ' call '? Относительно использования self.increase (num) как функции. Мы можем сделать что-то вроде

class Progress:
    def __init__(self, num):
        self.progress = 0
        self.increase(num)

    def increase(self, num):
        for i in range(num):
            self.progress += 8

p = Progress(5)      
print(p.progress)

Это может быть хорошей идеей, чтобы не увеличивать жесткий код.

...