Объясните часть кода по django

Объясните что делает и как работает следующая строчка: return Bb.objects.filter(rubric=self.kwargs['rubric_id']). Спасибо.


Ответы (1 шт):

Автор решения: mrvol
return Bb.objects.filter(rubric=self.kwargs['rubric_id'])

Bd - это так называемая model в django. Обычно соответсвтует таблице в БД.

objects - объект QuerySet, дает доступ к данным в таблицы Bd.

filter(условие) - данные из таблицы будут отфильтрованы по условию

rubric=self.kwargs['rubric_id'] условие для фильтрации, где rubric является колонкой(полем) в таблице Bd, например rubric=42, записи будут отобраны из таблицы Bb, только для рубрики 42.

self.kwargs это просто словарь, который создала для Вас Django. Обычно выглядит примерно так - {'rubric_id': 42}, таким образом self.kwargs['rubric_id'] содержит значение 42.

Откуда взялось 42? Например можно вызвать Вашу функцию так - get_bd(rubric_id=42}) или так get_bd(..., {'rubric_id': 42}), возможно это делает Django автоматически, например через urls.py, или где то в коде.

→ Ссылка