如何在Django Admin中的FileField上创建自定义过滤器

时间:2019-05-28 16:18:19

标签: django

在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

0 个答案:

没有答案