2
我有一個名爲Access的模型鏈接到兩個其他模型。自定義inline_formset字段顯示外鍵
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顯示爲choicefield給了我所有用戶的列表(即「jane15」,「tom54」)。我希望它是一個文本字段,有人必須輸入用戶名。當我嘗試按如下所述對其進行自定義時,它會顯示「用戶ID」而不是「用戶名」(即「1」,「2」)。
class UserAccessForm(forms.ModelForm):
user_id = forms.ChoiceField(required=True, widget=forms.TextInput)
class Meta:
model = Access
我如何獲得該formset顯示和接受用戶名(即「jane15」)作爲一個文本框,而不是作爲一個choicefield?
這就是我已經嘗試過的。這會導致我的用戶顯示爲他們的用戶標識而不是他們的用戶名。出於安全原因,我需要用戶名並且沒有下拉列表。 – 2011-03-12 01:04:42
不幸的是,您可以覆蓋添加功能,但在查看數據時,實際表字段只有一個數字。 – 2011-03-12 03:42:07
是的,那是我的問題。我該如何解決這個問題? – 2011-03-13 20:08:17