﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
17310	Delete an object linked to a GenericForeignKey	Rémy Hubscher	nobody	"On delete a GenericForeignKey, if you don't use `object_id`, you get this error :

{{{
>>> l = PageApp_Blog.objects.all()
>>> l
[<PageApp_Blog: Blog>, <PageApp_Blog: Blog>]
>>> l[1].delete()
Traceback (most recent call last):
  File ""<console>"", line 1, in <module>
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/db/models/base.py"", line 580, in delete
    collector.collect([self])
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/db/models/deletion.py"", line 178, in collect
    sub_objs = relation.bulk_related_objects(new_objs, self.using)
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/contrib/contenttypes/generic.py"", line 189, in bulk_related_objects
    [obj.pk for obj in objs]
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/db/models/manager.py"", line 141, in filter
    return self.get_query_set().filter(*args, **kwargs)
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/db/models/query.py"", line 550, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/db/models/query.py"", line 568, in _filter_or_exclude
    clone.query.add_q(Q(*args, **kwargs))
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/db/models/sql/query.py"", line 1194, in add_q
    can_reuse=used_aliases, force_having=force_having)
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/db/models/sql/query.py"", line 1069, in add_filter
    negate=negate, process_extras=process_extras)
  File ""/home/rhubscher/hg/modulo3/demos/jungleland/apps/local/lib/python2.7/site-packages/django/db/models/sql/query.py"", line 1260, in setup_joins
    ""Choices are: %s"" % (name, "", "".join(names)))
FieldError: Cannot resolve keyword 'object_id' into field. Choices are: app_page_id, app_page_type, children, id, last_modif, layout, level, lft, meta_description, meta_keywords, navigation, pageapp_blog, pageapp_text, parent, placeholder_slug, plugin_order, plugins, rght, sha1, slug, title, tree_id, website
}}}

Here is the model :

{{{
class Page(MPTTModel):
    ...
    app_page_type = models.ForeignKey(ContentType,
                                      limit_choices_to = {'model__startswith': 'pageapp_'},
                                      verbose_name=""page application"")
    app_page_id = models.PositiveIntegerField(editable=False)
    app_page_object = generic.GenericForeignKey('app_page_type', 'app_page_id')
    ...
}}}"	Bug	closed	contrib.contenttypes	1.3	Normal	invalid			Unreviewed	0	0	0	0	0	0
