I have a charfield with the following:
myString = models.CharField(max_length=50,null=True,blank=True)
In many of my objects, this particular string is often left blank, when created through the django admin interface. In MySQL, the column is VARCHAR(50) with default=NULL.
Whatever test I try to do in my views.py to detect blank values, always seems to evaluate to false whether the entry is blank or not:
myString is None
myString==""
len(myString)==0
How can I discriminate between blank and non-blank values for this field?
Thanks
EDIT:
Actual view is the following, I want to execute a block only if this field is not blank.
if myObject.myString:
#do something
the block always executes, and I have tried all the above examples of testing for a blank field.
EDIT 2:
Scratch that, if myObject.myString:
does indeed work.
Some empty fields return empty strings while others return
None
. A nullable boolean field however, will returnFalse
when it has been set. This will not pass the test in Srikar's answer. A more robust solution is this:if your
d
is eitherNone
or""
then simply check -myString
is not a string -- it's amodels.CharField
. Show us your actual view where you're trying to do this.If you've already got an instance of your model, you should just be able to do
to test if it's not blank.