Объект 'int' не является подписываемым django Проверка на перекрытие
Когда я проверяю перекрытие в формах Django с помощью этого кода, я не смог проверить перекрытие, получив ошибку tuples
record=[]
if count > 1:
for i in range(count):
start_run = self.data.get(f'runningdefinition_set-{i}-start_run',[])
end_run = self.data.get(f'runningdefinition_set-{i}-end_run',[])
application_run =self.data.getlist(f'runningdefinition_set-{i}-application_run')
record.append((i, start_run, end_run, application_run))
tp=0
for x in record[0]:
for y in record[-1]:
if (x[0] < y[0] < x[1]) or (x[0] < y[1] < x[1]):
tp += 1
else:
raise ValidationError(
"Overlapping not allowed"
)
Проблема в том, что x и y - целые числа, потому что они "разделены" 3 раза. Когда вы говорите "for x in record[0]:", record[0] уже является кортежем целых чисел, поскольку record - это список кортежей, поэтому x - целое число. Я ничего не знаю о Django или перекрытии, но что может сработать, так это
x = record[0]
y = record[-1]
вместо циклов for.