Python Django - значения атрибутов класса разделяются между запросами? - PullRequest
0 голосов
/ 01 ноября 2018

Допустим, у меня есть следующий класс в Python:

class MyClass():
    cls_att = []

Теперь в одном из запросов я делаю следующее:

MyClass.cls_att.append('a')

Если сразу после этого 'добавления', другой запрос получит атрибут:

lst = MyClass.cls_att

Что они получат в 'lst'? это пустой список или ['a']?

1 Ответ

0 голосов
/ 01 ноября 2018

Это зависит.

Любые запросы, обслуживаемые одним и тем же процессом, будут использовать один и тот же класс, поэтому будут отображаться добавленные данные. Запросы, обслуживаемые другим процессом, будут видеть любые данные, добавленные предыдущими запросами этого процесса.

Таким образом, поскольку вы не можете предсказать, какой процесс будет обслуживать какой-либо конкретный запрос, вы не можете рассчитывать, что это произойдет или не произойдет. Другими словами, не делайте этого вообще.

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