【发布时间】:2019-07-27 12:43:27
【问题描述】:
我有一个由 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)
模型 collaborateurs 是一个呈现用户名的选择字段。
我希望此字段改为呈现 PK,因此我尝试创建自己的表单但无法弄清楚。
forms.py
from django import forms
from .models import Hotel
class HotelForm(forms.Form):
collaborateurs = forms.ModelChoiceField(queryset=collaborateurs.objects.all())
谢谢
【问题讨论】:
-
您的意思是 forms.ChoiceField 不是 forms.ColleagueChoiceField?
-
是的,我的错。但即使这样,我的表格也没有改变
-
我试过了,但对我的情况不起作用:
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) Hotel = form.cleaned_data['collaborateurs'].id
标签: python django django-forms django-class-based-views