Django несколько моделей, имеющих внешний ключ к другой модели
Пример:
Система, обрабатывающая различные типы файлов csv. Различные типы файлов csv имеют различное содержимое внутри.
Итак, в настоящее время я думаю смоделировать это следующим образом:
Модель файла, которая хранит некоторую общую информацию о каждом обрабатываемом файле, такую как имя, дата и т.д.
class File(models.Model):
name = models.CharField()
Затем модели, которые хранят содержимое для каждого типа файлов, и эти модели ссылаются на модель File:
class Example1File(models.Model):
file = models.ForeignKey(File, related_name=example_file_1_content)
... (all columns for this file)
class Example2File(models.Model):
file = models.ForeignKey(File, related_name=example_file_2_content)
... (all columns for this file)
Есть ли простой способ, например, просмотреть таблицу files и получить содержимое каждого файла, а django будет просто знать, в какой таблице искать?
for file in File.objects.all():
file.???
Или я смогу сделать это, только сохранив поле типа в файле и затем получив содержимое с обратной связью следующим образом.
for file in File.objects.all():
if file.type == FileTypes.ExampleFile1:
file.example_file_1_content
Но что если существует много различных типов файлов? Я все еще в процессе изучения того, как django обрабатывает отношения/обратные отношения, поэтому я могу просто еще не дойти до этого, или то, как я моделирую это, не является оптимальным.
Заранее спасибо.