Opened 14 years ago
Closed 14 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 , 14 years ago
comment:2 by , 14 years ago
| Cc: | added |
|---|---|
| Resolution: | → duplicate |
| Status: | new → closed |
This is a duplicate of #17648.
Please disregard the missing
max_lengthargument and the duplicate "Teenager" pasted intoPerson.__doc__.