Вот что я пытаюсь сделать, и не в ...Администратор общих встроенных строк для подклассов с несколькими таблицами - любые альтернативы?
У меня есть модель файла, которая имеет общее-отношение к другим объектам:
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')
Все вышеперечисленное работает отлично, включая общие инлайн модели файла, пока я не хочу использовать generic-inline модели изображения --- save proc ess не создает экземпляр базового класса, поэтому возникает ошибка, указывающая, что Image.file_ptr («секретный» внешний ключ для базового класса) не может быть None.
Таким образом, в общем случае родовые встроенные линии не поддерживают надлежащую поддержку наследования нескольких таблиц на данный момент.
Весьма вероятно, что я делаю это более сложным, чем это необходимо, так может ли кто-нибудь предложить исправить эту проблему или лучший способ достичь того же конца?
Пожалуйста, дайте мне знать, если вам нужно дополнительное разъяснение.