Как фильтровать объекты по значению одного из его полей в django?

У меня есть приложение django с urls.py:

path('<str:slug>/', views.article),

Когда пользователь набирает название товара на моем сайте, запускается представление:

def article(request, slug):
    videos = models.Video.objects.filter(article=slug)
    return render(request, 'videos/at_detail.html', {'videos': videos})

Если я добавляю print(slug) где-то в функции, она возвращает слово, которое я ввел в url, так что эта часть работает.

модели:

class article(models.Model):
    name = models.CharField(max_length=30, null=True)
    slug = AutoSlugField(populate_from='name', unique=True, default=None)
    created_on = models.DateTimeField(default=timezone.now)
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, blank=True, default=None)
    
    def __str__(self):
        return self.name
    

    class Meta:
        verbose_name = "Articles"


class Video(models.Model):
    video_id = models.UUIDField(
        primary_key=True,
        default=uuid.uuid4,
        editable=False
    )
    title = models.CharField(max_length=50)
    description = models.CharField(max_length=500)
    file = models.FileField()
    article = models.ForeignKey(at, on_delete=models.CASCADE)

    def __str__(self):
        return str(self.title) + " - " + str(self.at)

    class Meta:
        verbose_name_plural = "Videos"
        verbose_name = "Video"

Что не работает, и что я пытаюсь сделать, это получить все объекты, которые имеют то же значение 'article', что я ввел в свой url. Например, если я введу 127.0.0.1:8000/blueberry/, я получу все объекты с полем article=blueberry.

Возможно ли это, и если да, то как я могу это сделать?

Вы пробовали Video.objects.filter(article__slug__iexact=slug) ?

Вернуться на верх