23 lines
747 B
Python
23 lines
747 B
Python
|
from django.apps import AppConfig
|
||
|
from django.db import connections
|
||
|
from django.db.models.signals import post_save
|
||
|
|
||
|
class CoreConfig(AppConfig):
|
||
|
name = "yamdl_playground.core"
|
||
|
|
||
|
loaded = False
|
||
|
|
||
|
def ready(self):
|
||
|
if not self.loaded:
|
||
|
connection = connections["default"]
|
||
|
|
||
|
with connection.cursor() as cursor:
|
||
|
cursor.execute("CREATE VIRTUAL TABLE search_index USING fts5(body);")
|
||
|
|
||
|
post_save.connect(self.post_save)
|
||
|
self.loaded = True
|
||
|
|
||
|
def post_save(self, sender, instance, created, **kwargs):
|
||
|
with connections["default"].cursor() as cursor:
|
||
|
cursor.execute("INSERT INTO search_index(body, rowid) VALUES (%s, %s)", [instance.content, instance.pk])
|