【问题标题】:Nested if is not working in django嵌套 if 在 Django 中不起作用
【发布时间】:2016-08-07 03:44:44
【问题描述】:

我正在尝试使用嵌套 if 做一个项目。但它不起作用。为什么? 我的代码是,

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()

【问题讨论】:

  • 什么不起作用?请提供更多信息。
  • 您没有提供任何关于 no_of_response 是什么的信息,(我将把答案留在那里,因为我仍然认为这是一个错误)
  • if (c.start_time
  • 它正在工作,但n 永远不会为 0,而且正如我上面提到的,你没有包含任何关于 no_of_response 是什么的信息

标签: django django-models django-admin djcelery


【解决方案1】:

您正在与&amp; 进行一些比较,您可能想要使用and(或&amp;&amp;

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

或者更好

c.start_time <= now <= c.end_time

【讨论】:

  • 这段代码是正确的。但不检查 if n==0: 。为什么?对不起我的英语不好
  • @naveen - 可能因为无论出于何种原因,它永远不会评估为真,您可能想尝试使用 datetime.now() 代替
  • 此代码有效。 if (c.start_time
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-18
相关资源
最近更新 更多