Python Forum
Peewee returning objects and not strings..
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Peewee returning objects and not strings..
#1
Lightbulb 
I want to get the data from my sqlite database using peewee
Currently I am trying to do this on this way:
data_list = []
    for email in Check_history.select():
        data_list.append([Check_history.email, Check_history.valid_or_invalid])
    return data_list
But this returns an object and not a string :(
Output:
<class 'sql.Check_history'> SELECT "t1"."id", "t1"."email", "t1"."valid_or_invalid" FROM "check_history" AS t1 [] <peewee.StringExpression object at 0x7fbc4a9e85c0> <peewee.StringExpression object at 0x7fbc4dc410b8> <peewee.StringExpression object at 0x7fbc4dc410f0> <peewee.StringExpression object at 0x7fbc4dc41048>
My main script
from flask import Flask, render_template, request
import sqlite3

from peewee import *

from functions import *
from sql import *

app = Flask(__name__, template_folder='.')

@app.route('/')
def no_mail():
    return render_template('index.html')

@app.route('/', methods=['POST'])
def check_input():
    print("POSTING")
    email = request.form['text']
    outcome = check_email(email)
    set_data(email, outcome[0])
    result_set = get_data()
    return render_template('index.html', result = outcome[1])

"""
@app.route('/<email>')
def send_check_mail(email):
    print("POSTING------")
    outcome = check_email(email)
    set_data(email, outcome[0])
    result_set = get_data()
    return render_template('index.html', result = outcome[1])
"""

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000)
    
init_database()    
Sql.py the file that creates the database ect..

"""
This is the file that creates the database
"""

from peewee import *
import sqlite3

# Create the database
db = SqliteDatabase('check_history.db')

class Check_history(Model):
    """Create the columns"""
    email = CharField(max_length = 100)
    valid_or_invalid = CharField(max_length = 10)

    class Meta:
        """
        Tell the class Check_history that
        The data belongs to the database check_history
        """
        database = db

def set_data(email, valid_invalid):
    #init_database()
    data = Check_history.create(email = email, 
                                valid_or_invalid = valid_invalid[1])
    data.save()

def get_data():
    #init_database()
    data_list = []
    print(Check_history.select())
    for email in Check_history.select():
        data_list.append([Check_history.email, Check_history.valid_or_invalid])
    return data_list                    

def init_database():
    db.connect()
    db.create_tables([Check_history], safe = True)
Reply
#2
You can use vars to see what the object data is.
class Data:
	def __init__(self):
		self.data = "line"
		self.data2 = "line2"
		
data = Data()
print(data)
print(vars(data))
99 percent of computer problems exists between chair and keyboard.
Reply
#3
(Dec-10-2017, 04:49 PM)Windspar Wrote: You can use vars to see what the object data is.
class Data:
	def __init__(self):
		self.data = "line"
		self.data2 = "line2"
		
data = Data()
print(data)
print(vars(data))

Thanks for your answer Windspar.
Unfortunately this dind't solve my problem

I changed my function get_data to this
def get_data():
    #init_database()
    data_list = []
    for email in Check_history.select():
        data_list.append([vars(Check_history.email), vars(Check_history.valid_or_invalid)])
        #print(vars(Check_history.email) + "BUT WHY DE FCUK")
    print(data_list)
    return data_list  


It retruns a huge list now:
Output:
[[{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order':1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None,'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100,'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints':None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None,'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}], [{'max_length': 100, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Email', 'help_text': None, 'db_column': 'email', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 1, '_sort_key': (2, 1), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'email', 'model_class': <class 'sql.Check_history'>}, {'max_length': 10, 'null': False, 'index': False, 'unique': False, 'verbose_name': 'Valid Or Invalid', 'help_text': None, 'db_column': 'valid_or_invalid', 'default': None, 'choices': None, 'primary_key': False, 'sequence': None, 'constraints': None, 'schema': None, 'undeclared': False, '_order': 2, '_sort_key': (2, 2), '_is_bound': True, '_negated': False, '_alias': None, '_bind_to': None, '_ordering': None, 'name': 'valid_or_invalid', 'model_class': <class 'sql.Check_history'>}]]
and I need the values in a list because I want to send the data to a html file with flask.
So the idea is that the get_data function returns [[EMAIL, VALID/INVALID],[EMAIL, VALID/INVALID],[EMAIL, VALID/INVALID]]

Ahh I found it.

for email in Check_history.select():
data_list.append([Check_history.email, Check_history.valid_or_invalid])

Check_history.email should be email.email.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Create SQLite3 database with peewee Jim53_1980 2 684 Dec-20-2023, 02:38 PM
Last Post: buran
  Trying to understand strings and lists of strings Konstantin23 2 770 Aug-06-2023, 11:42 AM
Last Post: deanhystad
  Splitting strings in list of strings jesse68 3 1,778 Mar-02-2022, 05:15 PM
Last Post: DeaD_EyE
  Finding multiple strings between the two same strings Slither 1 2,527 Jun-05-2019, 09:02 PM
Last Post: Yoriz
  lists, strings, and byte strings Skaperen 2 4,233 Mar-02-2018, 02:12 AM
Last Post: Skaperen
  peewee.OperationalError: no such table: JerryMotov 3 7,054 Dec-10-2017, 05:45 PM
Last Post: JerryMotov

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020