如何从确切的故事中获取剧集

2024-06-16 15:33:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个插曲,它与带有url的故事(外键)有关

router = routers.DefaultRouter()
router.register('', StoryView, basename='stories')
router.register('episodes', EpisodeView, basename='episodes')

视图:

class EpisodeView(viewsets.ModelViewSet):

型号:

class Story(models.Model):
    title = models.CharField(max_length=255)
    description = models.TextField(max_length=255)
    cover = models.ImageField(upload_to=upload_location)
    genre = models.ManyToManyField(Genre)
    author = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True)


class Episode(models.Model):
    title = models.CharField(max_length=255)
    cover = models.ImageField(upload_to=upload_location)
    story = models.ForeignKey(Story, on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True)
    episode_number = models.IntegerField(null=True)

我需要得到故事的情节。这个案子怎么办


Tags: registertruemodeltitlemodelslengthmaxclass
1条回答
网友
1楼 · 发布于 2024-06-16 15:33:15

您必须添加路由器才能获取剧集id

router = routers.DefaultRouter()
router.register('', StoryView, basename='stories')
router.register('episodes', EpisodeView, basename='episodes')
router.register('(?P<story_id>[0-9]+)/episodes', StoryEpisodeView, basename='episodes')

然后为StorySeposodeView编写更新列表方法:

def get_queryset(self):
    return Episode.objects.filter(story_id=self.story_id)

def list(self, request, *args, **kwargs):
    self.story_id = kwargs.get(story_id)
    super(request, *args, **kwargs)

相关问题 更多 >