How to exclude an item in Django loop?

Viewed 320

Hopefully just a quick question. I am having some difficulty wrapping my mind around to using Django loop function. I have a simple page which is fetch some data from db. Everything seems fine although loop function melting my mind.

Simply my loop:

{% if books %}
{% for reader in books %}
{{ reader.title }}
{{ reader.booknumber|default_if_none:"" }}
 {% endfor %}
{% else %}

My result like:

Elena 141
Elena
M.Mary 1035 
P.Paul 141
P.Paul 
T.Mark 741
T.Mark 
T.Mark

My Expect result like:

Elena 141
M.Mary 1035 
P.Paul 141
T.Mark 741

Thats because some of booknumber cell is emtpy in my db. I just wonder how do i put them out of loop? I'm using defult_if_none func for hide "None" but didnt find a way for hiding\excluding title (if doesnt have booknumber). I really appreciate if someone could help me out. Thank you in advance.

2 Answers

c.grey has the right answer but you really should be doing this processing in your views file using __isnull:

SomeModel.objects.filter(booknumber__isnull=False)
Related