Error in Django when i use filter(sites__id__exac=...) -


i have 4 classes:

class a(models.model):     field1 = models.booleanfield(default = true)      class meta:         abstract = true   class b(models.model):     field2 = models.booleanfield(default = true)     sites = models.manytomanyfield(site)      class meta:         abstract = true  class c(a,b):     field3 = models.booleanfield(default = true)      class meta:         abstract = true 

and

class d(c):     field4 = models.booleanfield(default = true) 

only class d in models.py in app. others imported diffrent files. fields of classess anb b being used in many models. created class d because want have generic admin panel django.

however, if use code:

obj = d() model_class = obj.__class__ items = model_class.objects.filter(sites__id__exac=1) 

i error:

join on field 'id' not permitted. did misspell 'exac' lookup type? 

why?

you're missing few letters:

https://docs.djangoproject.com/en/1.3/ref/models/querysets/#exact

more importantly, shouldn't need __exact on id field, do:

items = model_class.objects.filter(sites__id=1) 

or

items = model_class.objects.filter(sites__id__in=[1]) 

Comments

Popular posts from this blog

c++ - Is it possible to compile a VST on linux? -

java - Output of Eclipse is rubbish -

jquery - Confused with JSON data and normal data in Django ajax request -