Рубрики
Без рубрики

👨💻 запросы в Джангу (часть 7) – Django для начинающих

Это часть серии Django для начинающих мы собираемся увидеть о приложениях в приложении, и мы увидим … Теги с Python, Django, WebDev, начинающими.

Это часть серии Джанго для начинающих Мы собираемся посмотреть на приложения в приложении, и мы увидим о моделях в 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”