2016-12-03 151 views
0

我在使用Model.objects.filter()提交表单之后使用动态变量时遇到了问题。加入我的源代码如下─在Django中使用动态变量Model.objects.filter()

user_check = UserForm(request.POST) 

if user_check.is_valid(): 
    user_id = user_check['user_id'] #Submitted '9a26b3e5-1892-439b-b392-1779a043ca1a' 

    get_user = User.objects.filter(id=user_id) 
    num_of_user = get_user.count() 

如果我使用直接分派IE

user_id = '9a26b3e5-1892-439b-b392-1779a043ca1a' 
    get_user = User.objects.filter(id=user_id) 
    num_of_user = get_user.count() 

然后我通过表单提交提交num_of_user但ID送1总是导致0

另外,提交后然后我可以将提交的用户标识查看回我的前端模板。

在此先感谢!

回答

2

尝试从窗体的cleaned_data得到的user_id:的

user_id = user_check['user_id'] 

user_id = user_check.cleaned_data.get('user_id') 

,而不是在第一种情况下,你会得到USER_ID场(你所需要的)的价值。但第二种方法返回字段本身,如下所示:

<input type='text' name='user_id'>