自定义Django管理员导入表单以包括一个下拉栏

时间:2018-12-26 14:51:14

标签: python django import django-import-export

我正在使用Django import-export库添加Import选项来为我的其中一个模型(Sample)填充数据库。该模型包含应与导入文件列匹配的字段,以及与其他模型ForeignKey匹配的字段,我希望能够从导入页面上的下拉栏中为所有导入的{{1 }}。

我尝试通过覆盖this answer之后的Samples来定制导入表单以包括它。

这是我在import_action中的模型:

core/models.py

这是我如何覆盖class Sample(models.Model): study = models.ForeignKey(Study, ...) sample_ID = models.CharField(...) sample_source = models.CharField(...) brain_region = models.CharField(...) RIN = models.CharField(...) diagnosis = models.CharField(...) sex = models.CharField(...) age_at_death = models.IntegerField(...) ApoE = models.CharField(...) flowcell = models.CharField(...) PMI = models.CharField(...) 中的import_action方法:

core/admin.py

但是,当我尝试访问管理页面以导入class SampleImportForm(ImportForm): study = forms.ModelChoiceField(queryset=None) def __init__(self, choice_model, import_formats, *args, **kwargs): super(SampleImportForm, self).__init__(import_formats, *args, **kwargs) self.fields['study'].queryset = choice_model.objects.all() class SampleAdmin(ImportExportModelAdmin): resource_class = SampleResource def import_action(self, request, *args, **kwargs): super().import_action(request, *args, **kwargs) form = SampleImportForm(Study, self.get_import_formats(), request.POST or None, request.FILES or None) 时,出现以下错误:Samples,我一直在努力理解。

0 个答案:

没有答案