Commit d12a8c42 authored by fangzhipeng's avatar fangzhipeng

更新获取数据方式

parent 9b7ff7a1
...@@ -13,4 +13,4 @@ class BaseRes: ...@@ -13,4 +13,4 @@ class BaseRes:
返回json串 返回json串
:return: :return:
""" """
return json_util.to_json(self) return json_util.to_json(self.__dict__)
\ No newline at end of file \ No newline at end of file
# coding: utf-8 # 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 from sqlalchemy.ext.declarative import declarative_base
...@@ -7,12 +7,18 @@ Base = declarative_base() ...@@ -7,12 +7,18 @@ Base = declarative_base()
metadata = Base.metadata metadata = Base.metadata
t_test = Table(
'test', metadata,
Column('test', String(2))
)
class UserInfo(Base): class UserInfo(Base):
__tablename__ = 'user_info' __tablename__ = 'user_info'
id = Column(Integer, primary_key=True, nullable=False) id = Column(Integer, primary_key=True, nullable=False)
phone = Column(String(20), nullable=False, unique=True) 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")) 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")) update_at = Column(DateTime, nullable=False, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))
...@@ -23,12 +29,15 @@ class UserRecord(Base): ...@@ -23,12 +29,15 @@ class UserRecord(Base):
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
user_id = Column(Integer, nullable=False) user_id = Column(Integer, nullable=False)
content = Column(String(500), 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")) update_at = Column(DateTime, nullable=False, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))
class UserToken(Base): class UserToken(Base):
__tablename__ = 'user_token' __tablename__ = 'user_token'
__table_args__ = (
Index('uk_device_type_user_id', 'user_id', 'device_type', unique=True),
)
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
user_id = Column(Integer, nullable=False) user_id = Column(Integer, nullable=False)
......
...@@ -6,7 +6,8 @@ session.commit() ...@@ -6,7 +6,8 @@ session.commit()
session.close() session.close()
""" """
from daylife.dao import sqlengin 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): def add_record(user_record):
...@@ -18,6 +19,9 @@ def add_record(user_record): ...@@ -18,6 +19,9 @@ def add_record(user_record):
def select_by_user_id(user_id): def select_by_user_id(user_id):
session = sqlengin.getSession() 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() session.close()
return items return [ dict(x.items()) for x in items]
\ No newline at end of file
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(): ...@@ -18,7 +18,7 @@ def get_my_record():
""" """
user_id = request.headers.get('user_id') user_id = request.headers.get('user_id')
items = record_dao.select_by_user_id(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') @record.route('/my_follow')
......
# coding=utf-8 # coding=utf-8
import datetime
import decimal
import json import json
import time
from daylife.dao.sqlengin import AlchemyEncoder 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): def to_json(obj):
""" """
转换为json输出 转换为json输出
:param obj: :param obj:
:return: :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): 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