Convert model to json

This commit is contained in:
Administrator 2022-03-13 21:41:52 +01:00
parent f400192e7f
commit c5b6e85c4d
2 changed files with 13 additions and 2 deletions

View File

@ -1,6 +1,5 @@
from flask import Flask, jsonify from flask import Flask, jsonify
from dotenv import load_dotenv from dotenv import load_dotenv
from db import db
from models import * from models import *
@ -27,7 +26,7 @@ def create_app():
def users(): def users():
res = [] res = []
for i in User.query.all(): for i in User.query.all():
res.append(i.to_dict(show='*')) res.append(i.as_dict())
return jsonify(res) return jsonify(res)

View File

@ -9,6 +9,9 @@ class User(db.Model):
telegram_name = db.Column('telegram_name', db.String(255), nullable=True, server_default='') telegram_name = db.Column('telegram_name', db.String(255), nullable=True, server_default='')
admin = db.Column('admin', db.Boolean(), server_default='0') admin = db.Column('admin', db.Boolean(), server_default='0')
def as_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
class Transaction(db.Model): class Transaction(db.Model):
__tablename__ = 'transactions' __tablename__ = 'transactions'
@ -19,6 +22,9 @@ class Transaction(db.Model):
count = db.Column('count', db.Integer()) count = db.Column('count', db.Integer())
price = db.Column('price', db.Float()) price = db.Column('price', db.Float())
def as_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
class Keyword(db.Model): class Keyword(db.Model):
__tablename__ = 'keywords' __tablename__ = 'keywords'
@ -26,9 +32,15 @@ class Keyword(db.Model):
user_id = db.Column('user_id', db.Integer(), db.ForeignKey('users.user_id', ondelete='CASCADE')) user_id = db.Column('user_id', db.Integer(), db.ForeignKey('users.user_id', ondelete='CASCADE'))
keyword = db.Column('keyword', db.String(255)) keyword = db.Column('keyword', db.String(255))
def as_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
class Share(db.Model): class Share(db.Model):
__tablename__ = 'shares' __tablename__ = 'shares'
a_id = db.Column('a_id', db.Integer(), nullable=False, unique=True, primary_key=True) a_id = db.Column('a_id', db.Integer(), nullable=False, unique=True, primary_key=True)
user_id = db.Column('user_id', db.Integer(), db.ForeignKey('users.user_id', ondelete='CASCADE')) user_id = db.Column('user_id', db.Integer(), db.ForeignKey('users.user_id', ondelete='CASCADE'))
symbol = db.Column('symbol', db.String(255)) symbol = db.Column('symbol', db.String(255))
def as_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}