Opened 11 years ago

Last modified 11 years ago

#20279 closed Bug

generic relation — at Initial Version

Reported by: lucemia@… Owned by: nobody
Component: contrib.contenttypes Version: 1.4
Severity: Normal Keywords:
Cc: Simon Charette Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

while I used field names item_type, item_id instead of content_type, object_id.
to reference an object. and while delete the object, it will raise exception.

For example:

class ObjectPermission(models.Model):

# implement object/row based permission
# it support permission for all, for table and for object
# the item_type, item_id designed to accept 0, as a wildcard
permission = models.ForeignKey(Permission)

item_type = models.ForeignKey(ContentType, blank=True, default=0, null=True)
item_id = models.PositiveIntegerField(blank=True, default=0)
item_object = generic.GenericForeignKey('item_type', 'item_id')

class Publisher(models.Model):

name = models.CharField(max_length=255)

I create an relation between publisher and object permission.
while delete a publisher in django admin, it will raise fielderror,

at query.py line 1320
raise FieldError("Cannot resolve keyword object into field. "

"Choices are: %s" % (name, ", ".join(names)))

and after I change the field name back to content_type, object_id,
the exception won't appear.

The django doc didn't mentioned this behavior

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top