【发布时间】:2015-12-21 08:07:49
【问题描述】:
我必须将一些数据发送到我有电话对象的数据库。为此,我需要选择所需的电话号码并将数据插入数据库中。要求是显示属于当前登录用户的电话号码。
在我的表单中,我有 3 个 textInputs 和一个 MultipleChoiceField,其中显示了不同的电话号码。我的问题是:如何在 view.py 上获取选定的 phone_num 实例并将其发送到我的表单?
我的观点.py:
def phone_config(request):
phone = Phone.objects.get(phone_num = 611111111)
phone_nums = Phone.objects.filter(user_id = request.user.id).values_list('phone_num', flat=True)
if request.method == 'POST':
form = phoneForm(phone_nums, request.POST, instance=phone)
if form.is_valid():
form.save()
return redirect(reverse('gracias'))
else:
form = phoneForm(phone_nums, instance=phone)
return render(request, 'heroconfigurer/heroconfigurer.html', {'form': form})
def gracias_view(request):
return render(request, 'heroconfigurer/gracias.html')
我的forms.py:
class phoneForm(ModelForm):
class Meta:
model = Phone
fields = ['phone_num', 'num_calls', 'time_btwn_calls', 'psap']
widgets = {'phone_num': Select(attrs={'class': 'form-control'}),
'num_calls': TextInput(attrs={'class': 'form-control'}),
'time_btwn_calls': TextInput(attrs={'class': 'form-control'}),
'psap': TextInput(attrs={'class': 'form-control'})
}
labels = {
'phone_num': ('Select phone number'),
'num_calls': ('Number of calls'),
'time_btwn_calls': ('Time between calls'),
'psap': ('PSAP'),
}
def __init__(self, phone_nums, *args, **kwargs):
super(tcuForm, self).__init__(*args, **kwargs)
self.fields['phone_num'].queryset = Sim.objects.filter(phone_num__in = phone_nums)
【问题讨论】:
标签: python django django-models django-forms