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?