Last active 1767986116

Revision 1deb1f31b0c249f005c9f4d2d7cb235a8a77e636

models.py Raw
1import json
2import peewee as pw
3from datetime import datetime
4
5db = pw.SqliteDatabase('example.db')
6
7
8class JSONField(pw.TextField):
9 def db_value(self, value):
10 return json.dumps(value, ensure_ascii=False)
11
12 def python_value(self, value):
13 if value is not None:
14 return json.loads(value)
15 return None
16
17
18class BaseModel(pw.Model):
19 class Meta:
20 database = db
21
22 id = pw.IntegerField(primary_key=True)
23 created_at = pw.DateTimeField(default=datetime.now)
24 updated_at = pw.DateTimeField(default=datetime.now)
25
26 def save(self, *args, **kwargs):
27 self.updated_at = datetime.now()
28 return super().save(*args, **kwargs)