Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django管理:筛选下拉列表中显示的外键_Python_Django_Django Models_Django Admin_Foreign Keys - Fatal编程技术网

Python Django管理:筛选下拉列表中显示的外键

Python Django管理:筛选下拉列表中显示的外键,python,django,django-models,django-admin,foreign-keys,Python,Django,Django Models,Django Admin,Foreign Keys,在我的应用程序中,我有以下模型来管理系列、季节和剧集: class Series(models.Model): title = models.CharField(max_length=100, unique=True) year = models.IntegerField() class Meta: verbose_name_plural = "series" class Season(models.Model): number = model

在我的应用程序中,我有以下模型来管理系列、季节和剧集:

class Series(models.Model):
    title = models.CharField(max_length=100, unique=True)
    year = models.IntegerField()

    class Meta:
        verbose_name_plural = "series"

class Season(models.Model):
    number = models.IntegerField()
    title = models.CharField(max_length=100)
    series = models.ForeignKey(Series)

    class Meta:
        unique_together = ('number', 'series',)

class Episode(models.Model):
    number = models.IntegerField(unique=True)
    title = models.CharField(max_length=100)    
    series = models.ForeignKey(Series)
    season = models.ForeignKey(Season)

    class Meta:
        unique_together = ('number', 'season',)

    def __str__(self):
        return self.title
我使用Django admin来管理我的模型:我将季节设置为系列的内联(在系列上下文之外自己创建季节看起来很奇怪)。在这之前,一切都很好

由于我不能在季内再次嵌套剧集,因此需要单独创建剧集。 但是,插曲表单包含两个下拉列表:一个用于选择季节(列出数据库中所有系列中的所有现有季节),另一个用于选择系列。 我想在这里只看到选定系列中的季节


这是可以实现的,还是我真的需要从所有现存的赛季中选择一个赛季?有没有一种通用的方法可以解决这个问题?

当然,一种可能的方法是制作系列剧,并单独制作带有内联插曲的季节。我只是想看看django admin在这一点上是否是可管理的。当选择一个系列时,您需要使用javascript(可能还有ajax)来过滤更新季节。关于这一点有很多问题,还有一些应用程序需要帮助