Commit d12a8c42 authored by fangzhipeng's avatar fangzhipeng

更新获取数据方式

parent 9b7ff7a1
......@@ -13,4 +13,4 @@ class BaseRes:
返回json串
:return:
"""
return json_util.to_json(self)
\ No newline at end of file
return json_util.to_json(self.__dict__)
\ No newline at end of file
# coding: utf-8
from sqlalchemy import Column, DateTime, Integer, String, text
from sqlalchemy import Column, DateTime, Index, Integer, String, Table, text
from sqlalchemy.ext.declarative import declarative_base
......@@ -7,12 +7,18 @@ Base = declarative_base()
metadata = Base.metadata
t_test = Table(
'test', metadata,
Column('test', String(2))
)
class UserInfo(Base):
__tablename__ = 'user_info'
id = Column(Integer, primary_key=True, nullable=False)
phone = Column(String(20), nullable=False, unique=True)
nickname = Column(String(50), primary_key=True, nullable=False, server_default=text("''"))
nickname = Column(String(50), primary_key=True, nullable=False, unique=True, server_default=text("''"))
create_at = Column(DateTime, nullable=False, server_default=text("CURRENT_TIMESTAMP"))
update_at = Column(DateTime, nullable=False, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))
......@@ -23,12 +29,15 @@ class UserRecord(Base):
id = Column(Integer, primary_key=True)
user_id = Column(Integer, nullable=False)
content = Column(String(500), nullable=False)
craete_at = Column(DateTime, nullable=False, server_default=text("CURRENT_TIMESTAMP"))
create_at = Column(DateTime, nullable=False, server_default=text("CURRENT_TIMESTAMP"))
update_at = Column(DateTime, nullable=False, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))
class UserToken(Base):
__tablename__ = 'user_token'
__table_args__ = (
Index('uk_device_type_user_id', 'user_id', 'device_type', unique=True),
)
id = Column(Integer, primary_key=True)
user_id = Column(Integer, nullable=False)
......
......@@ -6,7 +6,8 @@ session.commit()
session.close()
"""
from daylife.dao import sqlengin
from daylife.dao.models import UserRecord
from daylife.dao.models import UserRecord, UserInfo
from util import json_util
def add_record(user_record):
......@@ -18,6 +19,9 @@ def add_record(user_record):
def select_by_user_id(user_id):
session = sqlengin.getSession()
items = session.query(UserRecord).filter(UserRecord.user_id==user_id).order_by(UserRecord.id.desc()).all()
items = session.execute('select t.*, tt.nickname from user_record t, user_info tt WHERE t.user_id=tt.id AND t.user_id=:user_id ORDER BY t.create_at DESC ', {'user_id': user_id}).fetchall()
session.close()
return items
\ No newline at end of file
return [ dict(x.items()) for x in items]
if __name__ == '__main__':
print(json_util.to_json([ dict(x.items()) for x in select_by_user_id(1)]))
\ No newline at end of file
......@@ -18,7 +18,7 @@ def get_my_record():
"""
user_id = request.headers.get('user_id')
items = record_dao.select_by_user_id(user_id)
return http.BaseRes(data=json_util.convert_db_to_json_obj(items)).to_json()
return http.BaseRes(data=items).to_json()
@record.route('/my_follow')
......
# coding=utf-8
import datetime
import decimal
import json
import time
from daylife.dao.sqlengin import AlchemyEncoder
class MyJSONEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, (datetime.datetime,)):
return int(time.mktime(obj.timetuple()) * 1000)
elif isinstance(obj, (decimal.Decimal,)):
return {"val": str(obj), "_spec_type": "decimal"}
else:
return super().default(obj)
def to_json(obj):
"""
转换为json输出
:param obj:
:return:
"""
return json.dumps(obj, default=lambda item : item.__dict__, ensure_ascii=False)
return json.dumps(obj, cls=MyJSONEncoder, ensure_ascii=False)
def db_to_json(obj):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment