Я пишу приложение в Django, чтобы проверить XML на наличие ошибок. Он анализирует каждую строку в XML-файле, создает объект (из класса XMLElement), соответствующий этой строке, проверяет строку на наличие ошибок, генерирует строку, детализирующую ошибку, а затем добавляет ее в список. Вот фрагмент кода, что он делает:Django - kwargs не передаются
try:
self.string_list = kwargs['tag_string'].replace("<", "").replace(">", "").split()
print self.string_list
self.element_name = self.string_list[0]
except (ValueError, IndexError) as e:
self.errors.append("XMLElement {0} contains an error:{1}".format(self.element_name, str(e)))
Затем, после того, как это делается разбор файла, класс модели, что функции вызываются из включаются все ошибки в одну строку, а затем создает объект с этим string как аргумент ключевого слова.
print '\n'.join(obj.errors)
err_obj = Errors(errors='\n'.join(obj.errors))
class Errors(models.Model):
errors = models.TextField()
Всякий раз, когда я печатаю список ошибок из экземпляра XMLElement
, ошибка напечатан должным образом. Однако, когда я пытаюсь напечатать ошибку из класса ошибок, используя Errors.objects.all()[n].errors
из оболочки django, она возвращает пустую строку unicode. Не только это, но вместо сохранения одного объекта ошибки он сохраняет несколько, где-то между 3 и 5. Какая часть моего кода может вызвать это?
Я, я просто пропустил эту часть кода. –
вы уверены? вы не назовете его на свой gist, строка 56, 57 – fixmycode
Я удалил его для целей отладки, я, должно быть, не поставил его в суть. Тем не менее, вернуть его в код не решает мою проблему. –