Просмотр исходного кода

Fixes #19204: Use DjangoJSONEncoder for Job data (#19297)

Jeremy Stretch 9 месяцев назад
Родитель
Сommit
fbf926204e
2 измененных файлов с 20 добавлено и 1 удалено
  1. 17 0
      netbox/core/migrations/0013_job_data_encoder.py
  2. 3 1
      netbox/core/models/jobs.py

+ 17 - 0
netbox/core/migrations/0013_job_data_encoder.py

@@ -0,0 +1,17 @@
+import django.core.serializers.json
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('core', '0012_job_object_type_optional'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='job',
+            name='data',
+            field=models.JSONField(blank=True, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True),
+        ),
+    ]

+ 3 - 1
netbox/core/models/jobs.py

@@ -5,6 +5,7 @@ import django_rq
 from django.conf import settings
 from django.contrib.contenttypes.fields import GenericForeignKey
 from django.core.exceptions import ValidationError
+from django.core.serializers.json import DjangoJSONEncoder
 from django.core.validators import MinValueValidator
 from django.db import models, transaction
 from django.urls import reverse
@@ -90,8 +91,9 @@ class Job(models.Model):
     )
     data = models.JSONField(
         verbose_name=_('data'),
+        encoder=DjangoJSONEncoder,
         null=True,
-        blank=True
+        blank=True,
     )
     error = models.TextField(
         verbose_name=_('error'),