Как создать промежуточный класс в django - PullRequest
1 голос
/ 29 апреля 2020

У меня есть эти модели

from django.db import models
from embed_video.fields import EmbedVideoField

# Create your models here.


class Video(models.Model):
    video_author = models.CharField(default='Bongo Media', max_length=20)
    video_title = models.CharField(max_length=100)
    video_file = models.FileField(blank=True)
    video_image = models.ImageField(default='image.png')
    video_embed_link = EmbedVideoField(blank=True)
    video_descriptions = models.TextField(max_length=100, blank=True)
    video_pubdate = models.DateTimeField(auto_now=True)
    is_recommended = models.BooleanField(default=False)

    def __str__(self):
        return self.video_title


class Artist(models.Model):
    artist_picture = models.ImageField(upload_to='media')
    artist_name = models.CharField(max_length=100)
    artist_videos = models.ManyToManyField(Video)

    def __str__(self):
        return self.artist_name

В базе данных у меня много видео и артистов. в views.py как я могу сделать запрос, чтобы при нажатии на имя исполнителя я мог видеть только его видео, или в моих моделях есть какая-то ошибка? Или нужен промежуточный класс? Если так, как я могу создать промежуточный класс и как запрашивать данные с промежуточным классом, чтобы я мог отфильтровать все видео, принадлежащие одному исполнителю

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Я новичок в этом, но я думаю, что в приведенной выше кодировке переменная "videos" фактически является названием видеофайла. Кроме того, "artist_songs" не представлен нигде там. Итак, к ответу на ваш вопрос, нет.

0 голосов
/ 29 апреля 2020

Является ли artist_songs на самом деле artist_videos?

videos = Artist.objects.get(artist_name="John").artist_videos
for video in videos:
    print(video.video_title)
...