Skip to content

Commit 8bcc25f

Browse files
committed
add possibility to set additional data parameters in resource
1 parent 7a9ec54 commit 8bcc25f

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Generated by Django 5.0.7 on 2024-07-29 08:03
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("import_export_celery", "0010_auto_20231013_0904"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="exportjob",
15+
name="resource_kwargs",
16+
field=models.JSONField(
17+
blank=True, default=None, null=True, verbose_name="Resource additional data parameters"
18+
),
19+
),
20+
]

import_export_celery/models/exportjob.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,13 @@ def __init__(self, *args, **kwargs):
6767
default="",
6868
)
6969

70+
resource_kwargs = models.JSONField(
71+
verbose_name=_("Resource additional data parameters"),
72+
default=None,
73+
null=True,
74+
blank=True,
75+
)
76+
7077
queryset = models.TextField(
7178
verbose_name=_("JSON list of pks to export"),
7279
null=False,
@@ -110,7 +117,8 @@ def get_queryset(self):
110117
# apply filter directly on the model.
111118
resource_class = self.get_resource_class()
112119
if hasattr(resource_class, "get_export_queryset"):
113-
return resource_class().get_export_queryset().filter(pk__in=pks)
120+
kwargs = self.resource_kwargs or {}
121+
return resource_class(**kwargs).get_export_queryset().filter(pk__in=pks)
114122
return self.get_content_type().model_class().objects.filter(pk__in=pks)
115123

116124
def get_resource_choices(self):

0 commit comments

Comments
 (0)