I have these models:
class App(models.Model):
name = models.CharField(max_length=100)
class ProjectA(models.Model):
name = models.CharField(max_length=100)
app = models.ForeignKey(App)
class ProjectB(ProjectA):
pass
class Attachment(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
project = generic.GenericForeignKey("content_type","object_id")
file = models.FileField(upload_to=".")
I’m registering all the models for the admin, and I’m unregistering Group, User and Site. The thing is, when I access the Attachment in the admin, I see it rendered like this:

In the Content type select, I see this list:

The reason Attachment has a GenericForeignKey is because both ProjectA and ProjectB need to access it. I know that ProjectA and ProjectB are identical, but it’s a requirement that they are stored in 2 separate tables. How could I made the Attachment class useable from the admin? I know how to use contenttypes from normal views, but from the admin not.
In the Attachment class I would only like to have a select for Project A or Project B, and then a list of all Project A’s or all Project B’s, followed by the file that I want to attach.
Is such a thing possible from the Admin? Will I need to show the user the Object Id column?
if I’m not wrong, you want this. http://code.google.com/p/django-genericadmin/
my advice will work differently. you will add a little more form in ProjectA, ProjectB as inline. in your admin.py
go your ProjectA or ProjectB admin and see new admin.
this isn’t what you want but it can help you. otherwise you need check first link.