Hello,

I have such model:

class BoolTest(models.Model):
    NO = False
    YES = True
    YES_NO_CHOICES = (
        (NO, 'no'),
        (YES, 'yes')
    )
    name = models.CharField(
        max_length=30
    )
    completed = models.BooleanField(
        default=NO,
        choices=YES_NO_CHOICES
    )


and admin definition:

class BoolTestAdmin(admin.ModelAdmin):
    list_filter = ('completed',)
    list_display = ('name', 'completed')

admin.site.register(BoolTest, BoolTestAdmin)

When I use filter in Django admin (that produces URL .../admin/appname/booltest/?completed__exact=False), I get results which are with completed=True. This is the SQL query generated by Django admin:

SELECT `appname_booltest`.`id`, `appname_booltest`.`name`, `appname_booltest`.`completed` FROM `appname_booltest` WHERE `appname_booltest`.`completed` = 1 ORDER BY `appname_booltest`.`id` DESC

But when I do:

bt = BoolTest.objects.filter(completed__exact=False)

Then everything is ok:

SELECT `appname_booltest`.`id`, `appname_booltest`.`name`, `appname_booltest`.`completed` FROM `appname_booltest` WHERE `appname_booltest`.`completed` = 0 LIMIT 21

Is it a bug or I did something wrong?

Thanks,
Martin

--
You received this message because you are subscribed to the Google Groups "Django 
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to