mercredi 23 septembre 2015

How to retrieve data from sqlite3 database filled up using Python?

I am using peewee along with flask to populate my database with user's inputs and various other stats. How can I retrieve the data in sqlite3 database? Here is the skeleton:

from peewee import *
database = SqliteDatabase('app.py', autocommit=True)
class BaseModel(Model):
 class Meta:
  database = database    

class Model1(BaseModel):

class Model2(BaseModel):

class Model3(BaseModel):

app = Flask(__name__)

@app.before_request
def func1():
 database.connect()

@app.after_request
def func2(response):
 database.close()
 return response 

@app.route('/', method= ['GET'])
def some_func():
 #update pluto and create instances of Model2 and Model3 here

if __name__ == "__main__":
 database.connect()
 database.create_tables([Model1, Model2, Model3], True)
 pluto, created = Model1.get_or_create(key = 2, key2 = 0)

My app is running and showing the updated instances of Model1 and Model2 which means that it has created the models and is continually updating the database. But I don't know how to retrieve this data offline.

When I enter my sqllite database by sqlite3 app4.db and type .tables it shows me all the tables i.e. Model1, Model2, Model3 but typing in the query : select * from model1; gives nothing. I tried retrieving the data in Ipython shell too making a connection to database as above and querying list(Model1.select()) but it gives an empty list.

Aucun commentaire:

Enregistrer un commentaire