Skip to content

querysets

django_spire.ai.chat.querysets

ChatQuerySet

Bases: HistoryQuerySet

by_user

Source code in django_spire/ai/chat/querysets.py
def by_user(self, user):
    return self.filter(
        user=user,
    )

get_empty_or_create

Source code in django_spire/ai/chat/querysets.py
def get_empty_or_create(self, user):
    try:
        return (
            self.filter(user=user)
            .annotate(num_messages=Count('message'))
            .filter(num_messages=0)
            .earliest('-id')
        )
    except self.model.DoesNotExist:
        return self.create(user=user)

search

Source code in django_spire/ai/chat/querysets.py
def search(self, query: str):
    return self.filter(
        Q(name__icontains=query)
    )

ChatMessageQuerySet

Bases: HistoryQuerySet

newest_by_count

Source code in django_spire/ai/chat/querysets.py
def newest_by_count(self, count: int = 20):
    return self.order_by('-created_datetime')[:count]

newest_by_count_reversed

Source code in django_spire/ai/chat/querysets.py
def newest_by_count_reversed(self, count: int = 20):
    return self.order_by('-created_datetime')[:count][::-1]