#26964: No mention of index_together on the GenericForeignKey section -------------------------------+-------------------------------------- Reporter: aidanlister | Owner: nobody Type: Bug | Status: new Component: Documentation | Version: 1.9 Severity: Normal | Resolution: Keywords: | Triage Stage: Unreviewed Has patch: 0 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 1 | UI/UX: 0 -------------------------------+-------------------------------------- Description changed by aidanlister:
Old description: > We've been troubleshooting a performance issue and noticed that there was > no index on an important GenericForiegnKey. > > Once we'd resolved that, we noticed a contrib app had no index either > (django reversion). > > It seems like this should be mentioned in the documentation here: > > https://docs.djangoproject.com/en/1.9/ref/contrib/contenttypes/#generic- > relations > > Suggested wording: > > If you plan to search for child objects which have a generic relation to > your parent object, e.g. find all tags linked to a piece of content, then > you should consider adding a database index on the content type and > object ID using index_together > (https://docs.djangoproject.com/en/1.9/ref/models/options/#index- > together). Django does not do this for you automatically as it does with > ForeignKey's. > > In the example above, this would look like: > > ``` > class Meta: > index_together = [ > ["content_type", "object_id"], > ] > ``` New description: We've been troubleshooting a performance issue and noticed that there was no index on an important GenericForiegnKey. Once we'd resolved that, we noticed a contrib app had no index either (django reversion). It seems like this should be mentioned in the documentation here: https://docs.djangoproject.com/en/1.9/ref/contrib/contenttypes/#generic- relations Suggested wording: If you plan to search for child objects which have a generic relation to your parent object, e.g. find all tags linked to a piece of content, then you should consider adding a database index on the content type and object ID using index_together (https://docs.djangoproject.com/en/1.9/ref/models/options/#index- together). Django does not do this for you automatically as it does with ForeignKey's. In the example above, this would look like: {{{ class Meta: index_together = [ ["content_type", "object_id"], ] }}} -- -- Ticket URL: <https://code.djangoproject.com/ticket/26964#comment:3> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/069.34ac2d152130833668e30e0e653ecaf9%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.