Я работаю с существующей схемой о боевых данных в видеоигре, потому что мне приходится работать с данными, создаваемыми внешней программой. Эта схема не технически совместима с тем, как я хочу организовать данные, но она в основном работает.Создайте сущность путем суммирования данных в SqlAlchemy
Одна проблема, которая появляется 3 раза (до сих пор), предоставляет пользователю большую таблицу данных для просмотра/поиска, чтобы начать просеивать доступные данные. Итак, я решил создать один общий способ генерации таблицы данных и обрабатывать запросы AJAX для получения большего количества данных в этой таблице.
Проблема в том, что один из этих случаев в основном извлекает данные прямо из таблицы, а другой фактически извлекает обобщенные данные из таблицы. Например, схема определяет «боевое» или участника боя, но я хочу, чтобы система выставляла концепцию «характера» или вещь, которая существует и участвует во многих битвах. Таким образом, Character
будет Combatant
в нескольких, разных Encounter
s.
В основном я могу создать идею персонажа из базы данных. Я могу либо использовать представление, либо я могу заставить ORM (SQLAlchemy) каждый раз создавать требуемый запрос с нуля. Просмотр поддержки возможен в SQLAlchemy через некоторый possible extensions, но поскольку я обобщаю, я теряю первичный ключ, и поэтому я не могу создать класс ORM, представляющий представление. Предположительно, вы можете заставить столбец быть первичным ключом, но это не сработало для меня (казалось, ничего не делал). Если я попытаюсь использовать запрос с нуля, мой текущий способ генерации общей таблицы не работает из-за отсутствия возможности проверить (...) результат запроса.
Итак, у меня есть два вопроса, и a MCVE для подхода запросов с нуля:
Am I, принимая подход к решению этой проблемы, как известно, плохо?
Есть ли способ избежать использования проверки (...), которая позволяет мне использовать произвольные строки для получения значений из объекта результата запроса?
Некоторые заметки о MCVE:
Я урезанная количество объектов ORM, столбцы в каждой, а также информацию о конфигурации в списках столбцов. Списки столбцов уродливы в их первоначальной форме.
Где двойные вложенные петли
for
находятся в MCVE, в моем фактическом коде есть система шаблонов. Веб-сервер, генерирующий HTML, все обычные забавы были удалены, чтобы сосредоточиться на SQLAlchemy.