我有一个由PostView生成的表单
class HotelCreateView(LoginRequiredMixin, CreateView):
model = Hotel
fields = ['hotel', 'code', 'collaborateurs', 'planning' 'payday']
def form_valid(self, form):
form.instance.manager_hotel = self.request.user
return super().form_valid(form)
modelcollaborators是一个显示用户名的选项字段。你知道吗
我想让这个字段来呈现PK,所以我试图创建自己的表单,但没有弄清楚。你知道吗
表单.py
from django import forms
from .models import Hotel
class HotelForm(forms.Form):
collaborateurs = forms.ModelChoiceField(queryset=collaborateurs.objects.all())
谢谢
我建议您创建一个自定义小部件。你知道吗
创建“widgets”文件夹和“pk”-选择.html在一些“模板”文件夹。你知道吗
小工具/主键-选择.html你知道吗
然后,修改你的“表格.py“像这样
你知道吗表格.py你知道吗
下一步,我要你在视图.py““
你知道吗视图.py你知道吗
这一行在“pk”中是哪个部分做了更改-选择.html““
最初,
{{ option.value }}
是{{ widget.label }}
,正如您在GitHub页面上看到的那样。你知道吗https://github.com/django/django/blob/master/django/forms/templates/django/forms/widgets/select_option.html
{{ widget.label }}
在本例中显示用户名,因此我修改了这部分。你知道吗我希望这就是你要找的,如果我的理解是错误的,请随时问我。你知道吗
相关问题 更多 >
编程相关推荐