Saya memiliki model ini:
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=".")
Saya mendaftarkan semua model untuk admin, dan saya membatalkan pendaftaran Grup, Pengguna, dan Situs. Masalahnya, ketika saya mengakses Attachment di admin, saya melihatnya ditampilkan seperti ini:
Pada Content type pilih, saya melihat daftar ini:
Alasan Attachment memiliki GenericForeignKey adalah karena ProjectA dan ProjectB membutuhkan untuk mengaksesnya. Saya tahu bahwa ProjectA dan ProjectB identik, tetapi itu adalah persyaratan bahwa keduanya disimpan dalam 2 tabel terpisah. Bagaimana saya dapat membuat kelas Lampiran dapat digunakan dari admin? Saya tahu bagaimana menggunakan tipe konten dari tampilan normal, tetapi dari admin tidak.
Di kelas Lampiran saya hanya ingin memilih untuk Proyek A atau Proyek B, dan kemudian daftar semua Proyek A atau semua Proyek B , diikuti dengan file yang ingin saya lampirkan.
Apakah hal seperti itu mungkin dari Admin? Apakah saya perlu menunjukkan kolom ID Objek kepada pengguna?