Opened 13 years ago
Closed 13 years ago
#18061 closed Uncategorized (duplicate)
GenericRelation doesn't play well with proxy models
Reported by: | anonymous | Owned by: | nobody |
---|---|---|---|
Component: | Uncategorized | Version: | 1.4 |
Severity: | Normal | Keywords: | |
Cc: | charette.s@… | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Take the following models:
class Person(models.Model): """ Teenager (let's say this has the content type ID 1) """ age = models.IntegerField() class Teenager(Person): """ Teenager (let's say this has the content type ID 2) """ class Meta: proxy = True class Pimple(models.Model): """ A pimple. """ content_type = models.ForeignKey(ContentType) object_id = models.IntegerField() content_object = generic.GenericForeignKey('content_type', 'object_id') color = models.CharField()
Now, if I create a PimpleInline
on the TeenagerAdmin
, and then create Pimple
records with the main PimpleAdmin
, setting the content type to Teenager (ie, 2)
, you would think that a refresh on the TeenagerAdmin
would reveal my new pimple in the inline list, but it doesn't. This has to do with the GenericRelation.contrib_to_class
which attaches an updated queryset along the way, filtering by the content type of the proxy's parent model.
Change History (2)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Cc: | added |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
This is a duplicate of #17648.
Please disregard the missing
max_length
argument and the duplicate "Teenager" pasted intoPerson.__doc__
.