2017-06-02 75 views
-2

我有查看功能,根据我给予的数据过滤对象,如果该过滤对象不存在于数据库中,它将对象添加到数据库(我没有写入添加功能) 。如果它已经存在,则显示错误。我使用ajax post请求从模板获取数据。elif条件在django视图

#view.py 
@csrf_exempt 
def setUserInDB(request): 
if request.method=="POST": 
    if request.POST.get('pname','u_id'): 
     pname = request.POST.get('pname') 
     u_id = request.POST.get('u_id') 
     user = userprofile.objects.get(pk=u_id) 
     pid = Project.objects.get(title=pname) 
    else: 
     u_id = None 
     pname = None 

    if request.POST.get('db_id','chkbox'): 
     db_id = request.POST.get('db_id') 
     db = Db_profile.objects.get(pk=db_id) 
     chkbox = request.POST.get('chkbox') 
     print chkbox 
    else: 
     db_id = None 
     chkbox = None 

if Projectwiseusersetup.objects.filter(userid=user,project_id=pid, 
db_profileid= db,setasdefaultproject=chkbox): 
    print "already exist" 

elif (((Projectwiseusersetup.objects.filter(userid = user,project_id = 
pid,db_profileid=db,setasdefaultproject=False)).exists()) and 
(chkbox==True)): 
    print "FtoT" 


elif Projectwiseusersetup.objects.filter(userid = user,project_id = 
pid,db_profileid=db,setasdefaultproject=True) and chkbox==False: 
    print "TtoF" 
else: 
    print "aaaa" 

用户,PID,分贝,chkbox} ----我得到从AJAX请求后,
用户ID,PROJECT_ID,db_profileid,setasdefaultproject(布尔值)}这些数据-----模型字段

当我试图检查我的ELIF条件时,我在控制台“aaaa”(else部分)中获得输出。 elif有什么问题?

+0

仍不清楚!请明确提及你想达到的目标?你正在得到ajax请求,并基于你创建了一个过滤器和'print“FtoT”'? –

+0

请清楚解释问题*并发布完整视图。 –

+0

我的elif函数是否正确? @Raja Simon – Aishu

回答

0

在这里,例如:

x = 4 

if x == 1: 
    print ("1") 
elif (x == 2): 
    print("2") 
elif (x == 3): 
    print("3") 
else: 
    print("4") 
+0

谢谢!我想我不能使用这种方法。 – Aishu

+0

request.POST.get( 'PNAME', 'U_ID') 你应该将其替换为: 在request.POST –

+0

在request.POST 'PNAME' 和 'U_ID' 和1两件事: 您可以设置条件不明确,你应该做得更好 –