Q:

Django model QuerySet not returning when filtered

I'm not really sure what's happening here. I can see that I have a couple of emails in my database, but I can't seem to filter them.
for example, when I run
qs1 = EmailActivation.objects.all()
>>> print(qs1)
<EmailActivationQuerySet [<EmailActivation: a@yahoo.com>, <EmailActivation: b@gmail.com>]>

however, when I run the following I get nothing
qs2 = EmailActivation.objects.all().filter(email='a@yahoo.com')
>>> print(qs2)
<EmailActivationQuerySet []>

my model looks like this:
class EmailActivation(models.Model):
    user = models.ForeignKey(User)
    email = models.EmailField()

I'd expect my qs2 to return 'a@yahoo.com' since it is in the database as seen by qs1. Does someone see what I'm doing wrong?
Thanks,
Edit: looking closer I see the following:  
qs2 = 

EmailActivation.objects.all().filter(email__icontains='a@yahoo.com')
>>> print(qs2)
<EmailActivationQuerySet [<EmailActivation: a@yahoo.com>]>

Does this mean that there is some whitespace or hidden character in my 'email'? I imagine filtering with icontains would be bad as someone could be 'aa@yahoo.com'. What could I do to strip whatever hidden character is there?

A:

If you explicitly specify exact match on the filter then you should get a result what you are after. I don't think so there are any hidden characters here...
>>> EmailActivation.objects.all().filter(email__exact='a@yahoo.com')
<QuerySet [<EmailActivation: EmailActivation object (1)>]>

