Сопоставить имя столбца из хранимой процедуры, чтобы отобразить в модель / таблицу / представление в Django и использовать в представлении / шаблоне - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь использовать данные, которые возвращаю в объект, подобный модели, который может быть возвращен в виде и использован шаблоном Django. Подключение к базе данных SQL Server и использование pyodbc.

Вот мой запрос для получения данных:

  results=cursor.fetchall()
  print(results)
  result_list = []
  for row in results:   
      print(row) # ('10000', 'Col2 Data', 'Col3', Decimal('1000.000'), None)
      print(row[0]) # 10000
      result_list.append(row)

Результаты:

[('10000', 'Col2 Data', 'Col3', Decimal('1000.000'), None), 
('10001', 'Col2 Data2', 'Col3', Decimal('1000.000'), None)]

Есть ли способ получить это как пары словаря (ключа, значения), которые можно использовать непосредственно в шаблоне? В настоящее время я использую позиционирование возвращающихся данных. Я хотел бы напрямую ссылаться на row.id вместо row [0], но так как возвращаемые данные не отображаются ни в какие модели Django (и при этом они не установлены для таблицы / представления в самой базе данных), я не уверен как этого добиться. Любые предложения будут оценены.

Обратите внимание, я смог настроить модель Django и получить возвращаемые данные, сопоставленные с моделью следующим образом: return [ModelName(*row) for row in results] где ModelName сопоставляется с таблицей. Вопрос для сценария, когда в django нет отображения модели в таблицу базы данных.

Теперь циклический просмотр результатов в шаблонах действительно отображает данные, как и ожидалось, но в идеале я бы предпочел не отображать порядок или положение возвращаемых данных.

...