Вот что я пытаюсь сделать, и мне не удается ...
У меня есть файловая модель, которая имеет родовое отношение к другим объектам:
class File(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey()
file = models.FileField(upload_to='files/%Y/%m/%d')
# etc....
Я также хочу иметь подкласс File, чтобы иметь дело с конкретным случаем изображений, которые будут отображаться на странице, а не загружаться:
class Image(File):
file = models.ImageField(upload_to='files/%Y/%m/%d')
Все вышеперечисленное работает нормально, в том числе общие строки модели File, пока я не захочу использовать generic-inline модели Image - процесс сохранения не может создать экземпляр базового класса и, таким образом, выдает ошибку, заявляющую что Image.file_ptr («секретный» внешний ключ базового класса) не может быть None.
Таким образом, в основном, встроенные строки не поддерживают должным образом наследование нескольких таблиц.
Вполне вероятно, что я делаю это более сложным, чем нужно, поэтому кто-нибудь может предложить или решение этой проблемы, или лучший способ достижения той же цели?
Пожалуйста, дайте мне знать, если вам нужны дальнейшие разъяснения.