Просто добавьте метод to_json
в ваш класс следующим образом:
def to_json(self):
return self.message # or how you want it to be serialized
И добавьте этот код (из этот ответ ) , чтобы где-то в верхней части всего:
from json import JSONEncoder
def _default(self, obj):
return getattr(obj.__class__, "to_json", _default.default)(obj)
_default.default = JSONEncoder().default
JSONEncoder.default = _default
Это будет модуль monkey-patch json, когда он будет импортирован, поэтому JSONEncoder.default () автоматически проверяет специальный метод «to_json ()» и использует его для кодирования объект, если найден.
Так же, как сказал Онур, но на этот раз вам не нужно обновлять каждый json.dumps()
в вашем проекте.
британский правительственный Каталог Стандартов Данных предлагает, чтобы 35 символов для каждого Имени и Фамилии, или 70 символов для единственного поля содержали Полное имя.
Я знаю, что опаздываю на этом, но я добавлю этот комментарий так или иначе, поскольку другие могут приехать сюда в будущее с подобными вопросами.
Остерегаются тонкой настройки размеров столбца, зависящих от локали. Для запуска это настраивает Вас для кошмара обслуживания, не принимая во внимание то, что люди мигрируют и берут свои имена с ними.
, Например, испанцы с теми дополнительными фамилиями могут переместиться в и жить в англоязычной стране и могут обоснованно ожидать, что их полное имя будет использоваться. У русских есть патронимы в дополнение к их фамилиям, некоторые африканские имена могут быть значительно длиннее, чем большинство европейских имен.
Идут с созданием каждого столбца, столь широкого, как можно обоснованно сделать, приняв во внимание потенциальное количество строки. Я использую 40 символов каждый для имени, других имен и фамилии и никогда не находил проблем.
Если это - полное имя в одном поле, я обычно иду с 128 - 64/64 для в общем и целом в отдельных полях - Вы просто никогда не знаете.
Я обычно иду с varchar (255) (255 являющийся максимальной длиной типа varchar в MySQL).
@Ian Nelson: я задаюсь вопросом, видят ли другие проблему там.
Скажем, Вы разделили поля. Это - 70 общих количеств символов, 35 для имени и 35 для фамилии. Однако, если у Вас есть одно поле, Вы пропускаете пространство, которое разделяет имя и фамилию, обсчитывая Вас 1 символом. Несомненно, это - "только" один символ, но это могло иметь значение между кем-то вводящим их полное имя и кем-то нет. Поэтому я изменил бы то предложение на "35 символов для каждого Имени и Фамилии, или 71 символ для единственного поля для содержания Полного имени".
Обратите внимание, что у многих культуры есть 'вторые фамилии', часто названные фамилиями. Например, если Вы будете иметь дело с испанцами, то они будут ценить разделение фамилии от их 'фамилии'.
Лучший выбор состоит в том, чтобы определить тип данных для компонентов имени, использовать тех, которые для типа данных для фамилии и тонкой настройки в зависимости от локали.
То, что Вы действительно спрашиваете, является связанным, но существенно другим вопросом: как часто я хочу усечь имена для приспосабливания их в базе данных? Ответ зависит оба от частоты различных длин имен, а также максимальных выбранных длин. Это беспокойство сбалансировано опасениями по поводу ресурсов, используемых базой данных. Рассмотрение, как мало служебного различия там между различными макс. длинами для varchar поля, я обычно допускал бы ошибку на стороне того, чтобы никогда быть вынужденным усечь имя и сделать поле столь большим, как я смел.
Среднее имя является приблизительно 6 буквами. Это уезжает 43 в фамилию.:) Кажется, что Вы могли, вероятно, сократить его, если Вам нравится.
основной вопрос состоит в том, сколько строк Вы думаете, что будете иметь? Я не думаю, что varchar (50) собирается уничтожить Вас, пока Вы не получаете несколько миллионов строк.