Это очень запутанный вопрос.
У вас есть одна таблица с именем Items
. Один столбец в таблице Items
представляет собой текстовое поле с именем Name
. Каждая строка в текстовом поле Name
должна быть добавлена в ту же таблицу, что и новые строки базы данных.
Зачем вам когда-нибудь иметь несколько строк в текстовом поле name
, если его все равно нужно разбить на отдельные строки БД?
Одна из идей состоит в том, чтобы установить ModelAdmin, переопределить save_model, в котором вы захватываете объект, никогда не сохраняете его и вручную создаете «Предметы» при выполнении итерации по текстовому полю.
Этот пример работает
class ItemsAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
data = obj.name
items = [x for x in data.split('\n') if x and not x.isspace()]
for item in items:
Items.objects.create(name=item)
Что касается поля файла ...
Поле для файла: models.FileField()
Но еще больше для этого вам нужно просто настроить один URL-адрес и представление, которое будет: "/ upload-file /", иначе у вас будет пустой FileField в каждой строке вашей БД.
Если вы действительно хотите использовать приложение администратора, переопределите шаблон add_view, добавьте собственную форму загрузки и обработайте файл отдельно
<input type="file" name="myfile"> + in django view request.FILES['myfile']