Django:'readonly'属性在我的ModelForm上不起作用

2024-05-17 12:13:18 发布

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

我的表单中有一个“联盟类型”字段,我想将其设为readonly。我使用了widget.attr['readonly'] = True,但它不起作用。在

模型:

class League(models.Model):
  league_types = (
      ('league', 'League'),
      ('knockout', 'Knockout'),
  )
  ....
  season = models.ForeignKey(Season, related_name = "league_season")
  league_type = models.CharField(max_length=10, choices = league_types, default ='league')
  ...

ModelForm

^{pr2}$

在视图.py公司名称:

if League.objects.filter(season = season, league_type = 'knockout').count():
        form = LeagueForm(initial={'season': season, 'league_type': 'league'})
        form.fields['league_type'].widget.attrs['readonly'] = True
else:
        form = LeagueForm(initial={'season': season})

更新:

我不能使用disabled属性,因为我要创建一个具有league_type初始值的表单。在


Tags: formtrue表单类型modelstypewidgetinitial