I've been looking into how generic relations work because I wanted an easier way to use them in the admin interface. I've written some javascript and a little bit of python to make generic relationship quite usable now.
However, one thing that I noticed was that in order for my code to work properly, the model of interest must have 2 fields; 'content_type' and 'object_id'. But then I started to think that requiring a field to have a certain name, without the ability to manually specify which field is the 'object_id' and which is the 'content_type', was perhaps something that has overlooked? For example, consider (from the docs): content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() content_object = models.GenericForeignKey() behind the scenes Django automatically does the following: class GenericForeignKey(object): ... def __init__(self, ct_field="content_type", fk_field="object_id"): ... It seems like it should work like this: a = models.ForeignKey(ContentType) b = models.PositiveIntegerField() content_object = models.GenericForeignKey(ct_field='a', fk_field='b') and then, for example, class GenericForeignKey(object): ... def __init__(self, ct_field, fk_field): self.ct_field = ct_field or "content_type" self.fk_field = fk_field or "object_id" ... --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---