2015-04-15 36 views
0

我正在Udemy上學習Django課程,並決定添加我通過使用If語句更改表單佈局的知識。Python - 如何訪問由方法設置的可變數據

基本上,我想看看變量for_you的BooleanField是否設置爲true(或者如果GUI中的複選框被選中),但我在設置布爾值字段時如何訪問時遇到問題假。任何人都可以將我指向正確的方向嗎?

class SignUp(models.Model): 
for_you = models.BooleanField(default=True, verbose_name="Is this purchase for you? If so, check this box.") 
if for_you: 
+0

要明確。 '如果for_you == True'或'如果for_you == False'。當然,如果你想保持你有的編碼風格:'如果for_you:'或'如果不是for_you' – Zizouz212

+0

@ Zizouz212後者更簡單,如果選擇了更明智的變量名,例如。 '如果is_for_you:'。 – 101

+0

@figs前者雖然具有更明確的優勢。 – Zizouz212

回答

1

我認爲你需要告訴我們多一點,你正在試圖訪問for_you上下文。

我不確定這是否會對您有所幫助,但您可以按照與SignUp類別相關的方式訪問for_you

內註冊的方法:

class SignUp(models.Model): 

    def my_method(self): 
     if self.for_you: 
      # do stuff 

外註冊:

my_sign_up = SignUp() 
if my_sign_up.for_you: 
    # do stuff 
+0

我真的不知道該怎麼問這個問題,因爲我的行話沒有達到標準(因此儘管我努力,我也不知道該如何查找問題)。 for_you變量由對象方法設置。我需要一種檢查對象方法是否爲真的方法。只需檢查是否for_you == True或不會產生所需的結果。我不確定它是否有意義,但我正在嘗試; p – steaksauce

+0

你在哪裏檢查'if for_you == True';在模型聲明中,還是在模型聲明之外? – vishen

1

檢查,如果一個布爾是False的最直接的方法是使用not

if not for_you: 
    print 'for_you is False!' 
+0

字符串是引用! – Zizouz212

+0

@ Zizouz212 oops試圖將代碼格式化爲代碼塊,謝謝。 – 101

相關問題