query = self.filter(category=category) if category else self
if search:
return query.annotate(similarity=TrigramSimilarity('name', search), ).filter(similarity__gt=0.01).order_by('-similarity')
else:
return query
именно конкретно условие напрягает немного, может можно писать более компактно?
Это что за метод вообще?
Я написал queryset для поиска с помощью триграмм. Мне само условие типо не особо нравится, может как-то тернаром записать
Не знаю, но у тебя PEP 8 нарушен
Где именно, у меня плагин стоит который подчеркивает когда он нарушен, единственное где он подчеркнул это больше 120 или сколько там символов в одной строке. Я это уже исправил.
Я ссылку дал на тот раздел
Да, спасибо
if search is not None:
def list(self, search=None, category=None): query = self if category is not None: query = self.filter(category=category) if search is not None:
Понял спасибо и ещё можно else убрать вроде бы и записать Просто def fun(...): if search is not None: return ..... return query
Какой else?
Тут в коде есть в конце else
Вот я убрал ☝🏻
Да, всё Спасибо большое
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
Обсуждают сегодня