在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