我有一个名为 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)
问题出在网页中,user_id 显示为一个选择字段,为我提供了所有用户的列表(即“jane15”、“tom54”)。我希望它是一个必须有人输入用户名的文本字段。当我尝试如下自定义它时,它显示“用户 ID”而不是“用户名”(即“1”、“2”)。
class UserAccessForm(forms.ModelForm):
user_id = forms.ChoiceField(required=True, widget=forms.TextInput)
class Meta:
model = Access
如何让表单集显示和接受用户名(即“jane15”)作为文本字段而不是选择字段?