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
Post a Comment