2016-12-03 88 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'>