我有一个用户上传文件并且每个文件都有某些属性的案例。通常可能有 10 个文件需要上传到具有相同属性的数据库中。为了节省时间,最好允许用户选择所有 10 个文件并在数据库中添加 10 条记录,每个文件一条记录。我的模型类似于下面的示例:
class ContentCategory(models.Model):
name = models.CharField(max_length=100)
class Document(models.Model):
file_name = models.CharField(max_length=100, blank=True)
note = models.TextField(null=True, Blank=True)
content_category = models.ForeignKey(ContentCategory, on_delete=models.PROTECT)
document = models.FileUpload(upload_to=f'{content_category}/')
def save(self):
self.file_name = os.path.basename(self.document.name)
super(Document, self).save()
我的 admin.py 很简单,就像下面的代码:
class DocumentAdmin(admin.ModelAdmin):
exclude = ('file_name',)
admin.site.register(Document, DocumentAdmin)
admin.site.register(ContentCategory)
所以这是一个经常发生的确切场景。需要上传 10 张照片,并且所有照片都具有相同的内容类别和注释。有没有办法设置管理员允许某人选择正确的内容类别并写出注释,然后选择所有 10 个文件上传并在保存时在文档表中创建 10 条记录?每张照片一张?