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

时间:2014-01-05 03:05:11

标签: python django drop-down-menu

我有2次下降。

首先下拉询问类型。

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

我需要的是,如果第一个下拉作为类型: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)

我从另一个堆栈问题中读到要使用干净......但遗憾的是它不起作用......

编辑: 在查看@Mardo的链接后,我尝试加载一个静态文件。

这是我的文件夹设置:

myproject的/静态/管理/ JS / myfile.js

这在我的settings.py

STATIC_URL ='/ static /'

但它一直说文件没找到......

谢谢, ARA

1 个答案:

答案 0 :(得分:0)

制作两个表格。首先只有第一次下拉,第二次是禁用。选择值提交表单并基于第一个呈现完整版本。