Ваш вопрос немного неясен, но почему бы не создать таблицу для поисковых терминов и внешнего ключа для модели пользователя, если это то, что вам нужно.Например:
class SearchTerm(models.Model):
keywords = models.TextField()
user = models.ForeignKey(User)
Естественно, это будет работать для зарегистрированных пользователей, только если вы можете сделать что-то подобное с вашей точки зрения:
def search(request):
keywords = request.get('keywords')
user = request.user
st, created = SearchTerm.objects.get_or_create(keywords=keywords, user=user)
Посмотрите, это очень упрощенный примерчтобы проиллюстрировать то, что, я думаю, вы хотите сделать, но я не уверен, полностью ли я понял ваш вопрос.