django_polymorphic
django_polymorphic copied to clipboard
ContentType matching query does not exist. Lookup parameters were {'pk': None}
In [1]: Item.objects.all()
Out[1]: ---------------------------------------------------------------------------
DoesNotExist Traceback (most recent call last)
<ipython-input-1-f68cadf55917> in <module>()
----> 1 Item.objects.all()
/home/vagrant/env/local/lib/python2.7/site-packages/IPython/core/displayhook.pyc in __call__(self, result)
236 self.start_displayhook()
237 self.write_output_prompt()
--> 238 format_dict = self.compute_format_data(result)
239 self.write_format_data(format_dict)
240 self.update_user_ns(result)
/home/vagrant/env/local/lib/python2.7/site-packages/IPython/core/displayhook.pyc in compute_format_data(self, result)
148 MIME type representation of the object.
149 """
--> 150 return self.shell.display_formatter.format(result)
151
152 def write_format_data(self, format_dict):
/home/vagrant/env/local/lib/python2.7/site-packages/IPython/core/formatters.pyc in format(self, obj, include, exclude)
124 continue
125 try:
--> 126 data = formatter(obj)
127 except:
128 # FIXME: log the exception
/home/vagrant/env/local/lib/python2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj)
445 type_pprinters=self.type_printers,
446 deferred_pprinters=self.deferred_printers)
--> 447 printer.pretty(obj)
448 printer.flush()
449 return stream.getvalue()
/home/vagrant/env/local/lib/python2.7/site-packages/IPython/lib/pretty.pyc in pretty(self, obj)
358 if callable(meth):
359 return meth(obj, self, cycle)
--> 360 return _default_pprint(obj, self, cycle)
361 finally:
362 self.end_group()
/home/vagrant/env/local/lib/python2.7/site-packages/IPython/lib/pretty.pyc in _default_pprint(obj, p, cycle)
478 if getattr(klass, '__repr__', None) not in _baseclass_reprs:
479 # A user-provided repr.
--> 480 p.text(repr(obj))
481 return
482 p.begin_group(1, '<')
/home/vagrant/env/local/lib/python2.7/site-packages/polymorphic/query.pyc in __repr__(self, *args, **kwargs)
290 return '[ ' + ',\n '.join(result) + ' ]'
291 else:
--> 292 return super(PolymorphicQuerySet, self).__repr__(*args, **kwargs)
293
294 class _p_list_class(list):
/home/vagrant/env/local/lib/python2.7/site-packages/django/db/models/query.pyc in __repr__(self)
75
76 def __repr__(self):
---> 77 data = list(self[:REPR_OUTPUT_SIZE + 1])
78 if len(data) > REPR_OUTPUT_SIZE:
79 data[-1] = "...(remaining elements truncated)..."
/home/vagrant/env/local/lib/python2.7/site-packages/django/db/models/query.pyc in __len__(self)
90 self._result_cache = list(self.iterator())
91 elif self._iter:
---> 92 self._result_cache.extend(self._iter)
93 if self._prefetch_related_lookups and not self._prefetch_done:
94 self._prefetch_related_objects()
/home/vagrant/env/local/lib/python2.7/site-packages/polymorphic/query.pyc in iterator(self)
277 break
278
--> 279 real_results = self._get_real_instances(base_result_objects)
280
281 for o in real_results:
/home/vagrant/env/local/lib/python2.7/site-packages/polymorphic/query.pyc in _get_real_instances(self, base_result_objects)
173
174 else:
--> 175 real_concrete_class = base_object.get_real_instance_class()
176 real_concrete_class_id = base_object.get_real_concrete_instance_class_id()
177
/home/vagrant/env/local/lib/python2.7/site-packages/polymorphic/polymorphic_model.pyc in get_real_instance_class(self)
102 # when the content type record still exists but no longer refers to an existing model.
103 try:
--> 104 return ContentType.objects.get_for_id(self.polymorphic_ctype_id).model_class()
105 except AttributeError:
106 # Django <1.6 workaround
/home/vagrant/env/local/lib/python2.7/site-packages/django/contrib/contenttypes/models.pyc in get_for_id(self, id)
104 # This could raise a DoesNotExist; that's correct behavior and will
105 # make sure that only correct ctypes get stored in the cache dict.
--> 106 ct = self.get(pk=id)
107 self._add_to_cache(self.db, ct)
108 return ct
/home/vagrant/env/local/lib/python2.7/site-packages/django/db/models/manager.pyc in get(self, *args, **kwargs)
141
142 def get(self, *args, **kwargs):
--> 143 return self.get_query_set().get(*args, **kwargs)
144
145 def get_or_create(self, **kwargs):
/home/vagrant/env/local/lib/python2.7/site-packages/django/db/models/query.pyc in get(self, *args, **kwargs)
387 "%s matching query does not exist. "
388 "Lookup parameters were %s" %
--> 389 (self.model._meta.object_name, kwargs))
390 raise self.model.MultipleObjectsReturned(
391 "get() returned more than one %s -- it returned %s! "
DoesNotExist: ContentType matching query does not exist. Lookup parameters were {'pk': None}
It seems like you have a polymorphic_ctype column that contains NULL values. Did this happen after a migration to polymorphic?
p.s. please report new issues at https://github.com/chrisglass/django_polymorphic, see my note at #31