我正在創建一個django應用程序/網站,並且遇到了一些布爾結果的麻煩,我不明白。Django - 模型和視圖中的函數不返回正確的布爾值
在我的模型,我有一個Article類具有兩個功能:
class Article(models.Model):
#some vars
basetime = models.IntegerField()
duration = models.IntegerField()
has_begun = models.BooleanField()
def remainingTime(self):
if(self.basetime + self.duration) - time.time() >= 0:
return ((self.basetime + self.duration) - time.time())
else:
return -1
def stillAvailable(self):
if self.remainingTime() >= 0:
return True
return False
而且在我的意見我有一個功能檢查:
def check(request,i):
try:
article = Article.objects.get(pk=i)
except Article.DoesNotExist:
return ccm(request)
if (article.stillAvailable):
return test(request,article.remainingTime)
else:
return quid(request)
當一個頁面調用支票,我的瀏覽器顯示測試頁面和參數article.remainingTime是-1。 (這是我想要做的正確值)。
我的問題是:如果article.remainingTime = -1,那麼article.stillAvailable應該返回False,所以檢查函數應該返回quid(request)。 我看不到django/python解釋器評估article.stillAvailable的原因。
如果有人可以幫助,那將會是非常讚賞:P
你怎麼確定'article.remainingTime'是'-1'?你有沒有在「check」功能中加入一些日誌? – MostafaR 2013-05-11 12:19:37
測試視圖只顯示給定的參數,在我的情況下它是-1。我也做了一個JavaScript alert顯示article.remainingTime,並且它也是-1。 – Benjamin 2013-05-11 12:23:47