问题描述
我正在尝试显示用户在申请时可以选择的时隙。有时会有很多插槽。
问题是我当前正在使用单选按钮和ModelChoiceField。
我在下面附上了我目前的照片。
我不确定是否需要使用React或其他前端框架。我要显示的单选按钮不仅是立即显示巨大的列表,而且还显示成组的较短列表。
我曾经考虑过使用CSS隐藏某些时间。也许每个小时都有一个复选框,可以在该小时内显示和隐藏单选按钮(大多数插槽为5分钟),但是我在尝试使用ModelChoiceField过滤和呈现表单时遇到了麻烦。
我的ModelForm类的价值:
class ApplicationForm(forms.ModelForm):
slot_choice = forms.ModelChoiceField(queryset=None,label="Please select a time slot. (You can change this at a later time if your schedule changes)",empty_label="Please select a time slot",widget=forms.RadioSelect(attrs={'class': 'custom-control-input'}))
class Meta:
model = Application
fields = ['resume','cover_letter']
def __init__(self,show,*args,**kwargs):
super(ApplicationForm,self).__init__(*args,**kwargs)
# only display slots for current show that are not filled.
self.fields['slot_choice'].queryset = Slot.objects.filter(show=show).filter(application__isnull=True).order_by('start')
我的观点实际上只是将Show对象作为表单的参数传递。像ApplicationForm(Show.objects.get(pk=show_id))
之类的东西。
如果有帮助,可以参考模型的一些背景知识。有一个表演模型。然后有两个模型:Slot和Application都具有show fk。插槽也有一个应用程序外键。表单的目的(可行)是创建一个应用程序对象,并将该应用程序添加到可用的Slot对象中。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)