Объясните часть кода по django
Объясните что делает и как работает следующая строчка: return Bb.objects.filter(rubric=self.kwargs['rubric_id']).
Спасибо.
Ответы (1 шт):
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, или где то в коде.