13Oct
Бомбезное название придумал!
Проблема. У меня в таблице в 2х полях лежить жсон. А в ответ на запрос пользователю я должен вернуть другой дсон, некоторыми ключами которого будут жсоны из наших полей.
Решение в лоп – загрузится с этих полей данные и использовать их в формировании жсона. Но получается дурная работа
-
return json.dumps({
-
'user_id':request.user.id
-
'user_data':request.user.data(),
-
'info_1':json.loads(model_obj.info1),
-
'info_2':json.loads(model_obj.info2)
-
})
тут получается мы гоняем данные из жсона и обратно в холостую. Я тут наклепал небольшой модулик с использованием json чтоб этого не делать
-
import json
-
loads = json.loads
-
-
class JSONotEncode(object):
-
def __init__(self,data):
-
self.str = data
-
-
def simple(data):
-
return JSONotEncode(data)
-
-
class JSONEncoderSimple(json.JSONEncoder):
-
def _iterencode(self,obj,*args,**kwargs):
-
if isinstance(obj, JSONotEncode):
-
return obj.str
-
return json.JSONEncoder._iterencode(self,obj,*args,**kwargs)
-
-
def dumps(data):
-
return json.dumps(data,cls=JSONEncoderSimple)
-
-
def loads(data):
-
return json.loads(data)
-
-
if __name__ == '__main__':
-
print dumps({'a':1,'b':'sdr','c':simple('{"v":1}')})
Как видите, теперь данные, которые и так JSON просто оборачиваем в функцию simple и холостого хода не происходит.
Tags: json, Python
12Jul
-
from money.models import Trans
-
cur_model = Trans.objects.all()[0]
-
// and make a copy
-
cur_model.pk = None
-
cur_model.save() //ha ha
Tags: django, Python, tips
27Jun
Часто в статьях нахожу оговорки, и наконецто дошли руки, чтоб потратить минутку и черкнуть пару слов на тему оговорок:
“Сразу скажу, что это мое личное мнение…”
“Я не профи, и могу что-то упустить…”
“Не бейте сильно, я недавно пишу…”
и еще милион всяких других… Не уверен, но в арххивах этого блога тоже можно будет найти парочку. В некоторых статьях я замечаю прям абзаци посвещенные этому. Даже думаю начать их собирать.
Первое, что мне непонятно – так это зачем это писать? Что за детская неуверенность и робость. Ну правда. Ну написал ты статью, ну к примеру, тюнинг конфига mysql. И в конце – “ну [...] Continue Reading…
10Jun
В Django есть такая удобная вещь для написания тестов — это fixtures. Удобство состоит в том, что ваши тесты могут входить в уже заполненный данными проект. Например тестируем работу админчасти статистики, надо иметь готовый массив данных, с которым оперируем и проверяем результаты. Неудобство состоит в том, что эти фикстуры надо где взять, надо поддерживать актуальными, такими-же актуальными как и тесты. Вот как раз и про неудобную часть, а также паре подводных камней я бы и хотел вам рассказать.
Получаем фикстуру
python manage.py dumpdata > all_data.json
Рассказывать, что это означает я не буду, но то есть хорошая документация по фикстурам у самой Django [...] Continue Reading…
Tags: django, fixtures, Python, testing
03Jun
Обещаю, дальше будет по теме
07May
Вчера для CheckIO придумали вам новую развлекуху, друзья мои, на эти выходные
Идея развлекухи в том, что надо придумать максимально необычное решение для самой обычной задачи. Например, самое простое из раздела Funny, и проще уже не придумаешь – Funny addition. На вход – массив из 2х интов, а на выходе их сумма. Но функция sum(data) – это же не смешно. Смешнее что-то вроде max(data) + min(data).
Заходим, пишем свое аморальное решение, и рейтенгуем решения друзей.
По результатам выложу сюда топ аморальщины. Развлекайтесь и удачных вым выходных
ЗЫ: У нас есть еще прикольные шортсы, но о них уже в [...] Continue Reading…
Tags: checkio, Programming, Python
24Apr
Я последние несколько месяцев любую свободную минутку посвящаю именно этому проекту www.checkio.org, т. к. чувствую, что делаю что-то полезное, что-то что может помогать молоды специалистам.
Я уже писал о нем, но сейчас, когда считаю, что закончен большой этап в развитии этого проекта решил написать еще раз, а лучше показать.
Тут Вы можете посмотреть видео небольшого туториала на тему чекио, а именно, как чекио позволяет находить идеальное решение многих задач, а так же помогать в обучению как питону так и программированию в целом.
Так-же у нас на стадии тестирования терниры между программами. И первой задачей для турнира сейчас выбрана игра five in row. Надо [...] Continue Reading…
Tags: checkio, Python
18Mar
После нескольких месяцев скитаний моего блога, он снова ожил и обжился баджетами моего твитера, фейсбука и линкедина.
Я наконецто перехал на нормальный сервер, на который буду стягивать свои проекты.
В блоге буду продолжать раскрывать тему питона и разработки в целом. А в твитере короткие идеи и анонсы на эту тему
Мы никуда не пропадали, мы просто болели, так что не переключайте.
11Jan
Это продолжение моего общения с собой на тему логов.
Размышляя на тему логов, у которых нет конца – я пришел к выводу – что у записи конец обязан быть. Парсеру возможно это и не важно, но человеку надо знать, что эта запись полная.
Например у Вас такая часть лога
“date time,”log,”inc sum: 100
Парсер эту строку распарсит очень просто, а вот у человека не будет уверенности в цифре. А может там был мильен.
Именно по этому у записи должна быть точка. И пока кроме идеи – тупо добавлять ячейку с точкой мне ничего в голову не пришло.
Так что теперь наша запись в логах [...] Continue Reading…
Tags: log, Python, ucsvlog
Recent Comments