Во время разработки нового приложения на основе Django я заметил повреждение памяти.У меня есть две функции, которые используют этот класс:
class ConfigMap():
data = list()
def add(self, entry: CusDeployPhone):
for row in self.data:
if row.phone_var.varid == entry.phone_var.varid:
return self
self.data.append(entry)
return self
def get(self):
return self.data
Функция # 1
def gen_config_model(request, deploy_phone):
deploy_phone_general = CusDeployPhone.objects.filter(phone_model=7)
config_list_model = ConfigMap()
for entry in deploy_phone:
config_list_model.add(entry)
for entry in deploy_phone_general:
config_list_model.add(entry)
Функция # 2
def gen_config_endpoint(request):
config_list_endpoint = ConfigMap()
for entry in deploy_model:
config_list_endpoint.add(entry)
for entry in deploy_phone_general:
config_list_endpoint.add(entry)
Обе функции возвращают данные в списке,Я заметил, что при вызове представления конечной точки я также вижу данные при загрузке model-one!
Каким-то образом класс поврежден или объединен с существующим.Зачем?Переменная является локальной для функции.
Я знаю, что есть проблемы со списками (ссылками / указателями), но почему в этом случае?