Last active 1767986116

admin revised this gist 1767986116. Go to revision

1 file changed, 1 insertion, 1 deletion

models.py

@@ -2,7 +2,7 @@ import json
2 2 import peewee as pw
3 3 from datetime import datetime
4 4
5 - db = pw.SqliteDatabase('opencdn.db')
5 + db = pw.SqliteDatabase('example.db')
6 6
7 7
8 8 class JSONField(pw.TextField):

admin revised this gist 1767986101. Go to revision

1 file changed, 28 insertions

models.py(file created)

@@ -0,0 +1,28 @@
1 + import json
2 + import peewee as pw
3 + from datetime import datetime
4 +
5 + db = pw.SqliteDatabase('opencdn.db')
6 +
7 +
8 + class 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 +
18 + class 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)
Newer Older