# زبان های اسکریپتی > دیگر زبان های اسکریپتی > سوال: ارسال یک رشته به عنوان پارامتر کوئری ؟؟؟؟؟؟؟؟؟؟

## malihehshajari

سلام
من کد زیر رو نوشتم :


str_1 = ''
		if From_Date_Response != '' and  Until_Date_Response != '':
			str_1 = "answering_date__range = (From_Date_Response , Until_Date_Response )"
		if From_Date_Reception != '' and Until_Date_Reception != '' :
			if str_1 != '' :
				str_1 = str_1 + ", date_acceptance__range = (From_Date_Reception , Until_Date_Reception)"
			else :
				str_1 = " date_acceptance__range = (From_Date_Reception , Until_Date_Reception)"
		if  From_Number_Reception != '' and Until_Number_Reception != '' :
			if str_1 != '' :
				str_1 = str_1 + ",id_reception__range = (int(From_Number_Reception) , int (Until_Number_Reception))"
			else :
				str_1 = "id_reception__range = (int(From_Number_Reception) , int (Until_Number_Reception))"
		


حالا با این رشته که ساختم کوئری زیر رو نوشتم :


result_test = Reception.objects.filter(str_1)



خطا میده 


too many values to unpack


من تعداد شرطایی که دارم زیاده و باید اینکار رو انجام بدم تو دات نت مشکلی نداره اینجا چطوریه ؟؟؟؟؟؟؟؟؟؟
با تشکر

----------


## n.nowroozi

باید به کوئری به چشم یک شی نگاه کنی یک چیزی مثل این باید کارت رو راه بندازه:

result_test = Reception.objects.all()
if From_Date_Response != '' and  Until_Date_Response != '':
    result_test = result_test.filter(answering_date__range = (From_Date_Response , Until_Date_Response ))
if From_Date_Reception != '' and Until_Date_Reception != '' :
    if str_1 != '' :
        result_test = result_test.filter(date_acceptance__range = (From_Date_Reception , Until_Date_Reception))
    else :
        result_test = result_test.filter(date_acceptance__range = (From_Date_Reception , Until_Date_Reception))
if  From_Number_Reception != '' and Until_Number_Reception != '' :
    if str_1 != '' :
        result_test = result_test.filter(id_reception__range = (int(From_Number_Reception) , int (Until_Number_Reception)))
    else :
        result_test = result_test.filter(id_reception__range = (int(From_Number_Reception) , int (Until_Number_Reception)))

----------


## n.nowroozi

البته راه دوم و بهترش اینه :)
kwargs= {}
result_test = Reception.objects.all()
if From_Date_Response != '' and  Until_Date_Response != '':
    kwargs['answering_date__range'] = (From_Date_Response , Until_Date_Response )
if From_Date_Reception != '' and Until_Date_Reception != '' :
    if str_1 != '' :
        kwargs['date_acceptance__range'] = (From_Date_Reception , Until_Date_Reception)
    else :
        kwargs['date_acceptance__range'] = (From_Date_Reception , Until_Date_Reception)
if  From_Number_Reception != '' and Until_Number_Reception != '' :
    if str_1 != '' :
        kwargs['id_reception__range'] = (int(From_Number_Reception) , int (Until_Number_Reception))
    else :
        kwargs['id_reception__range'] = (int(From_Number_Reception) , int (Until_Number_Reception))
result_test = Reception.objects.filter(**kwargs)

----------


## mrhashem

ممنون  از n.nowroozi 
چقد گشتم اینو پیدا کنم تشکر.

لوله بازکنی

----------

