Это часть серии Джанго для начинающих Мы собираемся посмотреть на приложения в приложении, и мы увидим о моделях в Django в этой части.
В этом посте мы собираемся выучить много запросов в Джангу. Я рекомендую вам прочитать последнюю пост, так как будет легко понять контекст этого поста, теперь давайте начнем.
Это модели
который мы собираемся использовать для большей части в этом посте,
from django.db import models from django.utils import timezone from djnago.contrib.auth.models import User class Post(models.Model) title = models.CharField(max_length=250) created_at = models.DateTimeField(default=timezone.now) author = models.ForeignKey('Author', on_delete=models.CASCADE, related_name="author") likes = models.ManyToManyField(User, blank=True, related_name="likes") dislikes = models.ManyToManyField(User, blank=True, related_name="dislikes") likes_count = models.PositiveIntegerField(default=0) dislikes_count = models.PositiveIntegerField(default=0) rating = models.DecimalField(max_digits=4, decimal_places=2) class Author(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) liked_posts = models.ManyToManyField(Post, blank=True, related_name="liked_posts") disliked_posts = models.ManyToManyField(Post, blank=True, related_name="disliked_posts")
Получить все
Чтобы получить все данные модели, мы используем этот запрос, она чаще всего не используется, поскольку она стоит много ресурсов, если данные велики, и всегда есть хорошая практика для ограничения результатов запроса, которые мы увидим, как сделать после этого С
all_posts = Post.objects.all()
синтаксис = Modelname.Objects.all ()
Ограничить результаты запроса
Для ограничения результатов любого запроса мы добавляем [start_count: end_count]
Получить результаты от start_count
и end_count.
Вы также можете использовать [: end_count]
Получить результаты от 0
к end_count.
. Давайте посмотрим пример,
only_five_posts = Post.objects.all()[:4]
Вышеуказанный запрос даст 5
Результаты только в качестве начала индекса с 0
и до 4
Было бы пять результатов.
Получить запрос
Существует ситуация много раз, когда мы хотим получить только один результат из запроса с точным совпадением полей для таких ситуаций, которые мы используем Получить запрос, позвольте мне показать вам пример,
one_post = Post.objects.get(id=1)
синтаксис = Modelname.Objects.get (pass_keyword_arguments)
Извините, что перебивает вас, но я хочу сказать вам одну вещь, которую я начал небольшой блог, вы можете продолжать читать это здесь Это поможет мне много.
Оригинал: “https://dev.to/ketanip/queries-in-django-part-7-django-for-beginners-588c”