Python Django-根据另一个下拉菜单限制下拉菜单选项

Python Django-根据另一个下拉菜单限制下拉菜单选项,python,django,drop-down-menu,Python,Django,Drop Down Menu,我有两个下拉列表 第一个下拉列表要求输入类型 我还有第二个下拉列表,显示另一个模型的值 我需要的是,如果第一个下拉列表是type:qualif,我只想显示第二个下拉列表的pk=1 这就是我到目前为止所做的: name = models.CharField(max_length=40,verbose_name="nom") type = models.CharField(max_length=6,choices=TYPE_CHOICES) division = models.ForeignKey(

我有两个下拉列表

第一个下拉列表要求输入类型

我还有第二个下拉列表,显示另一个模型的值

我需要的是,如果第一个下拉列表是type:qualif,我只想显示第二个下拉列表的pk=1

这就是我到目前为止所做的:

name = models.CharField(max_length=40,verbose_name="nom")
type = models.CharField(max_length=6,choices=TYPE_CHOICES)
division = models.ForeignKey(Division,verbose_name="division")

 class TournamentForm(forms.ModelForm):

def clean(self):
    super(TournamentForm, self).clean() #if necessary
    if 'division' in self._errors:
        """     
            reset the value (something like this i 
            think to set the value b/c it doesnt get set 
            b/c the field fails validation initially)
        """
        if self.data['type'] == 'qualif':
            division = Division.objects.get(pk=1)
            self.division = division

        # remove the error
        del self._errors['division']

    return self.cleaned_data

  # Register your models here.
     class TournamentAdmin(reversion.VersionAdmin):
form = TournamentForm
list_display = ('name', 'date', 'division', 'gender')
ordering = ('date', 'name')
list_filter = ['date', 'season', 'division', 'gender']

    admin.site.register(Tournament, TournamentAdmin)
我从另一个堆栈问题中读到使用clean…但遗憾的是它不起作用

编辑: 看了@Mardo的链接后,我试着加载一个静态文件

以下是我的文件夹设置:

myproject/static/admin/js/myfile.js

这是我的设置.py

静态URL='/STATIC/'

但它一直说找不到文件

谢谢,
Ara有两种形式。第一个只有第一个下拉列表,第二个已禁用。选择值提交表单并基于第一次提交完整版本。

在客户端执行可能更简单。将所有可能的值与某种映射一起发送到web页面,然后在第一个下拉列表发生更改时使用javascript或jquery重新填充第二个下拉列表。几天前我发布了一个类似的问题。我在寻找一个“自负”的答案,一个了解django关于这些东西的可能性的指南。答案很清楚,我想这对你也有帮助@马科斯·摩德内西,谢谢!我在加载资产文件时遇到问题。。。我编辑了我的第一篇文章以显示文件夹设置。查看页面的源代码,查看最终接收到要加载的文件的url,以及它是否匹配myproject/static/admin/js/myfile.js这是它尝试加载的url: