0
私はイベントに出席するために使用されるDjangoのModelFormを持っています。それは代わりに、フィールドのプレーンテキストとしてユーザーが表示されます。DJango表示のuser.profile.name情報の代わりにuser.usernameという形式のモデル
class PlainTextWidget(forms.Widget):
def render(self, name, value, attrs=None):
return mark_safe(value) if value is not None else '-'
class AttendanceForm(forms.ModelForm):
class Meta:
model = Registration
fields = (
"absent",
"late",
"excused",
"user", # User foreign key
)
widgets = { 'student': PlainTextWidget,}
しかし、代わりにデフォルトでフォームの表示ユーザーのユーザー名を、有するので、私は、ユーザーのプロファイル文字列を表示したいと思います:user.profile.__str__
私はPlainTextWidget.render()でvalue
をプロファイルクエリーセットのフィルターとして使用して調べることができるようですが、フォームまたはウィジェットのuser.profileに直接アクセスする方法はありますか?
どうすればいいですか?
? user.profile .__ str __() – 43Tesseracts
フォームを作成すると、おそらくフォームの登録インスタンスが提供されます。このインスタンスが存在する場合は、self.instance.student.profileでアクセスできます。 –