from peewee import * import json db = DatabaseProxy() class BaseModel(Model): class Meta: database = db db_table = 'lists' class ListModel(BaseModel): name = CharField(unique=True) content = TextField(default="") # unlimited length, use to serialise list into @property def content_list(self): return json.loads(self.content or '[]') @content_list.setter def content_list(self, list_content): self.content = json.dumps(list_content) with db: self.save() def set_db(db_path): db.initialize(SqliteDatabase(db_path)) with db: db.create_tables([ListModel], safe=True)