簡體   English   中英

在django中測試空/空字符串

[英]testing for empty/null string in django

我有一個charfield,其中包括:

myString = models.CharField(max_length=50,null=True,blank=True)

在我的許多對象中,當通過django管理界面創建時,此特定字符串通常會留空。 在MySQL中,列是VARCHAR(50),默認值為NULL。

無論我在views.py中嘗試做什么測試來檢測空白值,總是似乎評估為false是否為空白條目:

myString is None
myString==""
len(myString)==0

如何區分此字段的空白和非空白值?

謝謝

編輯:

實際視圖如下,我想僅在此字段不為空時才執行塊。

if myObject.myString:
     #do something

塊總是執行,我已經嘗試了所有上述測試空白字段的例子。

編輯2:

抓一點, if myObject.myString:確實有效。

一些空字段返回空字符串,而其他字段返回None 但是,可以為空的布爾字段在設置時將返回False 這不會通過斯里卡的回答。 這是一個更強大的解決方案:

if d in [None, '']:
    # This field is empty.

如果您的d是“ None""那么只需檢查 -

if d: 
    #do something
else:
    #do something else

myString不是一個字符串 - 它是一個models.CharField 向我們展示您嘗試執行此操作的實際視圖。

如果您已經擁有模型的實例,那么您應該能夠做到

if model_instance.myString:

測試它是否不是空白。

如果您的變量是None或''(空白),您可以按如下方式處理這兩個條件

if my_string:
  # neither None nor blank

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM