Позволяет сказать, у меня есть таблица SQLite вроде этого:Django ORM суммировать два столбца, чтобы заполнить третий один
A | B | SUM
-------------
AA | BA |
AB | BB |
AC | BC |
и теперь я хотел бы задать числовые значения для них, чтобы заполнить третий колонка. Например:
AA = 1 BA = 1
AB = 3 BB = 3
AC = 2 BC = 2
Так таблица в базе данных будет выглядеть так:
A | B | SUM
-------------
AA | BA | 2
AB | BB | 6
AC | BC | 4
Я делаю это потому, что я добавил таблицу Джанго-tables2 для моего проекта, и я хотел бы для индивидуальной сортировки моей таблицы, но, насколько я искал, нет способа сделать это. Я могу сортировать таблицу только по столбцам A или B. Но он упорядочивает их в алфавитном порядке, а мои значения разные.
Другая возможность заключается в использовании SQL запроса для сортировки моего стола, как это:
ORDER BY CASE WHEN A = 'AA' THEN 1
WHEN A = 'AB' THEN 3
WHEN A = 'AC' THEN 2 END
Но я должен был бы использовать необработанный метод в Джанго, чтобы сделать это, не так ли? Вставить его в ORM невозможно? По крайней мере, это то, что я понял до сих пор. Или я просто не знаю, как это сделать. : P
Таким образом, вместо того, чтобы использовать сырье, я думал, что это было бы просто добавить третью колонку только заказать всю таблицу на что;)
Ну, это оказалось не так просто, как я надеялся и я хотел бы получить любую помощь, если это возможно. Спасибо!
Что вы хотите сказать? Вы можете рассчитать значение в третьем столбце в методе save() модели. –
Я настоящий нуб, так что, пожалуйста, дайте мне пример. Я должен написать код в файл models.py? Fe. У меня есть класс Example (models.Model), с 3 столбцами: A, B и SUM. Как указать, что я хочу, чтобы AA равнялся 2 и AB равным 3 и т. Д.? – Jagulari
Я разместил предложение. Было бы легче ответить, если бы вы включили код модели в вопрос. –