def cards_tp_add(self, rdata, request): for line in rdata: print "%s: %s" % (line, rdata[line]) from tv.models import Card, TariffPlan, CardService from datetime import datetime card_id = rdata["card_id"] try: tp_id = int(rdata["data"]["tariff"]) except: return dict( success=False, title="Сбой добавления тарифов", msg="параметр неверно задан", errors="", data={} ) try: activated = datetime.strptime(rdata["data"]["activated"], "%Y-%m-%dT%H:%M:%S").date() except: try: activated = datetime.strptime(rdata["data"]["activated"], "%Y-%m-%d %H:%M:%S").date() except: activated = datetime.now() try: extra = rdata["data"]["extra"] except: extra = "" c = Card.objects.get(pk=card_id) cs = CardService(card=c) tp = TariffPlan.objects.get(pk=tp_id) cs.tp = tp cs.activated = activated cs.extra = extra cs.save() return dict(success=True, data=cs.store_record())