2016-04-15 4 views
-3

ネストされたifを使用してプロジェクトを実行しようとしています。しかし、それは動作していません。どうして? 私のコードは、djangoで作業していない場合はネストされました

schedule = Schedule.objects.all() 
    for c in schedule : 
     p = c.poll 
     e = c.end_time 
     s = c.start_time 
     n = c.no_of_response 
     now = timezone.now() 
     #phn = Response.objects.filter(poll = p).exclude(sid = 'Null').count() 
     if (c.start_time <= now) & (now <= c.end_time): 
      if n == 0: 
       c.poll.status='Running' 
       c.poll.save() 
+2

は何ですか働いていない?詳細をご記入ください。 – ilse2005

+0

あなたは 'no_of_response'についての情報を含んでいませんでした。(まだ私は間違いだと思うので、私は答えを残します) – Sayse

+0

if(c.start_time <= now)&(now <= c.end_time ): \t \t \t c.poll.status = '実行' \t \t \t c.poll.save()このコードが機能しています。しかし、もしn == 0ならば、最初のif条件の中に入れ子にすると、コード全体が動かない。なぜこれが起こったのですか? – naveen

答えて

2

であるあなたが&とのビット比較をやっている、あなたはおそらくand(または&&)を使用したい

(c.start_time <= now) and (now <= c.end_time) 

またはいっそ

c.start_time <= now <= c.end_time 
+0

このコードは正しいです。しかし、n == 0の場合はチェックしません。どうして?私の悪い英語のため申し訳ありません – naveen

+0

@naveen - おそらく何らかの理由で本当に評価されることはないので、代わりに 'datetime.now()'を試してみてください。 – Sayse

+0

このコードは動作しています。もし(c.start_time <=今)&(今<= c.end_time): \t \t \t c.poll.status = '実行' \t \t \t c.poll.save() – naveen

関連する問題