他の 2 つのモデルにリンクする Access というモデルがあります。
class Access (models.Model):
portfolio_id = models.ForeignKey(Portfolio)
user_id = models.ForeignKey(User)
title = models.CharField(max_length=30, null=True, blank=True)
access_rights = models.PositiveIntegerField(choices=ACCESS_CHOICES)
このフォームを作成しました。
class UserAccessForm(forms.ModelForm):
class Meta:
model = Access
私はこれをビューに持っています。
AccessFormSet = inlineformset_factory(Portfolio,
Access,
form=UserAccessForm,
extra=1,
can_delete=False)
cAccessFormSet = AccessFormSet(instance=cPorfolio)
問題は Web ページにあります。user_id が選択フィールドとして表示され、すべてのユーザーのリストが表示されます (つまり、「jane15」、「tom54」)。誰かがユーザー名を入力しなければならないテキスト フィールドにしたい。以下のようにカスタマイズしようとすると、「ユーザー名」(つまり「1」、「2」) の代わりに「ユーザー ID」が表示されます。
class UserAccessForm(forms.ModelForm):
user_id = forms.ChoiceField(required=True, widget=forms.TextInput)
class Meta:
model = Access
ユーザー名 (つまり "jane15") を選択フィールドではなくテキストフィールドとして表示して受け入れるフォームセットを取得するにはどうすればよいですか?