Фильтр с Django
Создаю проект с Джанго, хочу сделать фильтрацию по типам рецепта: ужин, обед и завтрак, но не знаю с чего начать и как это сделать.
Создаю проект с Джанго, хочу сделать фильтрацию по типам рецепта: ужин, обед и завтрак, но не знаю с чего начать и как это сделать.
Чтобы отфильтровать записи какой-либо модели используйте .filter()
К примеру у меня есть модель записей:
class Article(models.Model):
author = models.ForeignKey(CreativeUser, on_delete=models.PROTECT, verbose_name='Автор')
title = models.CharField(max_length=100, verbose_name="Заголовок")
text = models.TextField(verbose_name="Текст")
pub_data = models.DateTimeField(auto_now_add=True, verbose_name="Дата публикации")
class Meta:
verbose_name = 'Запись'
verbose_name_plural = 'Записи'
Отфильтровать записи такой модели я могу по её полям.Вот сортировка по полю author:
Article.objects.filter(author=request.user)
В данном случае я беру все записи, автором которых является пользователь просматривающий страницу.
В вашем же случае скорее всего будет модель рецепта, и у неё будет поле со списком, оно выглядит так:
...
types_of_recipe = (('з','Завтрак'), ('о','Обед'), ('у','Ужин'))
type_of_recipe = models.CharField(max_length=7, choices=types_of_recipe)
...
Опять же для примера возьмём записи для завтрака вашей предполагаемой модели рецепта(назовём её Recipe):
Recipe.objects.filter(type_of_recipe='з')
Это вроде бы максимально подробное объяснение, но я думаю если есть что добавить, то в комментариях или других ответах допишут.Удачного кодинга.