Как сделать пользовательский фильтр на FileField в Django admin - PullRequest
0 голосов
/ 28 мая 2019

В администраторе Django я загружаю CSV-файл для создания объектов модели.Эта загрузка файлов должна производиться сотни раз в день, когда люди загружают CSV-файлы с другого веб-сайта с тем же именем, что означает, что очень легко совершать ошибки.

Пользовательский фильтр, который я хочу, - это проверить первыйстрока, в которой существует имя магазина с именем объекта, куда я загружаю файл csv.После загрузки файла, если файл имеет несоответствующее имя магазина, администратор Django не разрешает мне отправлять файл csv.

Я запутался, с чего начать.Кто-нибудь может дать мне идею?

models.py

class Store(TimeStampedModel):
    ...
    name = models.CharField(unique=True, max_length=40)
    similar_stores_file = models.FileField(blank=True, null=True)

admin.py

def save_model(self, request, obj, form, change):

    csv_file = form.cleaned_data['similar_stores_file']
        if csv_file and 'similar_stores_file' in form.changed_data:
            lines = file_data.split("\n")

            for line in lines:
                # Check the first line to match the name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...