Python MySQLdb возвращает значение datetime.date и десятичное значение

У меня есть запрос MySQL, такой как:

SELECT mydate, countryCode, qtySold from sales order mydate, countryCode

Это возвращает кортежи со значениями, такими как:

((datetime.date(2011, 1, 3), 'PR', Decimal('1')), (datetime.date(2011, 1, 31), 'MX', Decimal('1')))

Когда я пытаюсь напечатать это с помощью цикла, он печатает совершенно хорошо:

2011-1-3, PR, 1
2011-1-31, MX, 1

Но когда я пытаюсь вернуть это значение, он возвращается как

datetime.date(2011, 1, 3), 'PR', Decimal('1')

Есть ли способ, что я могу получить нормальные данные, чтобы я могу передать его в пользовательский интерфейс для обработки? Под обычными данными я имею в виду:

[['2011-1-03', 'PR', 1], ...]

-121--1299947-

Почему разрезание хэша парамов создает проблему безопасности при массовом назначении? Официальным способом предотвращения угроз безопасности при массовом назначении является использование attr_accessible. Однако некоторые программисты считают, что это не работа для модели (или, по крайней мере, не только для модели). ...

Официальным способом предотвращения угроз безопасности при массовом назначении является использование attr _ доступный . Однако некоторые программисты считают, что это не работа для модели (или, по крайней мере, не только для модели). Самым простым способом выполнения этого действия в контроллере является разрезание параметров хэш:

@user = User.update_attributes(params[:user].slice(:name))

Однако в документации указано:

Обратите внимание, что вместо этого используется Hash # except или Hash # slice attr_accessible очистка атрибутов не обеспечит достаточной защиты.

Почему это так? Почему расщепление парамов в белом списке не обеспечивает достаточной защиты?

ОБНОВЛЕНИЕ: Линейки 4,0 поставят сильные параметры , уточненное расщепление параметров, так что я полагаю, что все расщепление было не так уж и плохо.

15
задан tokland 18 September 2013 в 11:48
поделиться