重写ModelForm
class CharacterModeForm(ModelForm):
def __init__(self, *args, **kwargs):
super(CharacterModeForm, self).__init__(*args, **kwargs)
if self.instance.character:
self.fields['default_idle'].queryset = models.IdleSkill.objects.filter(name__startswith=self.instance.character.name)
上述代码的功能是:
当选择角色时,自动过滤掉 default_idle的可选集合