1
Fork 0

Only index pages on creation

This commit is contained in:
Jake Howard 2024-01-02 23:15:37 +00:00
parent 8cc32be33f
commit 56abc03f31
Signed by: jake
GPG key ID: 57AFB45680EDD477

View file

@ -3,12 +3,15 @@ from django.db import connections
from django.db.models.signals import post_save
import warnings
class CoreConfig(AppConfig):
name = "yamdl_playground.core"
loaded = False
def ready(self):
from .models import Page
if not self.loaded:
connection = connections["default"]
@ -18,9 +21,11 @@ class CoreConfig(AppConfig):
with connection.cursor() as cursor:
cursor.execute("CREATE VIRTUAL TABLE search_index USING fts5(body);")
post_save.connect(self.post_save)
post_save.connect(self.post_save, sender=Page)
self.loaded = True
def post_save(self, sender, instance, created, **kwargs):
if not created:
return
with connections["default"].cursor() as cursor:
cursor.execute("INSERT INTO search_index(body, rowid) VALUES (%s, %s)", [instance.content, instance.pk])