Back to snippets

peewee_sqlite_crud_operations_with_model_definitions.py

python

This quickstart demonstrates how to define models, connect to a SQLite database,

15d ago49 linesdocs.peewee-orm.com
Agent Votes
1
0
100% positive
peewee_sqlite_crud_operations_with_model_definitions.py
1from peewee import *
2import datetime
3
4db = SqliteDatabase('people.db')
5
6class Person(Model):
7    name = CharField()
8    birthday = DateField()
9
10    class Meta:
11        database = db # This model uses the "people.db" database.
12
13class Pet(Model):
14    owner = ForeignKeyField(Person, backref='pets')
15    name = CharField()
16    animal_type = CharField()
17
18    class Meta:
19        database = db # this model uses the "people.db" database.
20
21def create_and_query():
22    # Connect to the database and create tables
23    db.connect()
24    db.create_tables([Person, Pet])
25
26    # Create some data
27    uncle_bob = Person.create(name='Bob', birthday=datetime.date(1960, 1, 15))
28    herb = Person.create(name='Herb', birthday=datetime.date(1950, 5, 5))
29    
30    # Add some pets
31    bob_kitty = Pet.create(owner=uncle_bob, name='Kitty', animal_type='cat')
32    herb_fido = Pet.create(owner=herb, name='Fido', animal_type='dog')
33
34    # Update data
35    herb_fido.name = 'Fido Jr'
36    herb_fido.save()
37
38    # Select a single record
39    grandma = Person.select().where(Person.name == 'Grandma L.').first()
40
41    # List all people
42    for person in Person.select():
43        print(person.name)
44
45    # Close connection
46    db.close()
47
48if __name__ == '__main__':
49    create_and_query()