Back to snippets
peewee_sqlite_crud_operations_with_model_definitions.py
pythonThis quickstart demonstrates how to define models, connect to a SQLite database,
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()