根据2个导入字段计算剩余导入字段

calculate remaining import fields based on 2 import fields

我有一个包含多个字段的模型。我想制作一个导入器(可能使用 django 导入导出库),它只需要两个字段并计算模型具有的其余字段。 我想听听并询问您是否知道如何做到这一点。由于文档没有提及太多。

谢谢大家!

您可以在模型管理中使用自定义资源导入 mixin class

class YourModelAdmin(ImportMixin, admin.ModelAdmin):
    resource_class = YourModelCustomResource  # 指定ImportMixin的resource_class
    
class YourModelCustomResource(resources.ModelResource):
    def before_save_instance(self, instance, using_transactions, dry_run):
        """
        Override to add additional logic. Does nothing by default.
        """
        # TODO: calculates the rest of the fields
        # The instance is instance of YourModelClass
        # instance.field = ...
        
        
    class Meta:
        model = YourModelClass
        fields = ("field1", "field1")  # fields you want to import

您可以在 ModelResource 源代码中找到更多像 before_xxxafter_xxx 这样的钩子,或者查看 https://django-import-export.readthedocs.io/en/latest/api_resources.html#import_export.resources.Resource.after_save_instance