From 5708e57631dc576ee4740c507bf4bf5c74c431c8 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 12 Jun 2023 10:25:14 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20m2m=20json=20field=20=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/db/fields.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/common/db/fields.py b/apps/common/db/fields.py index 41c2cf357..536f15cb3 100644 --- a/apps/common/db/fields.py +++ b/apps/common/db/fields.py @@ -552,9 +552,13 @@ class JSONManyToManyField(models.JSONField): if val["type"] == "ids": if not isinstance(val["ids"], list): raise ValueError(_("Invalid ids for ids, should be a list")) + if not val["ids"]: + raise ValueError(_("This field is required.")) elif val["type"] == "attrs": if not isinstance(val["attrs"], list): raise ValueError(_("Invalid attrs, should be a list of dict")) + if not val["attrs"]: + raise ValueError(_("This field is required.")) for attr in val["attrs"]: if not isinstance(attr, dict): raise ValueError(_("Invalid attrs, should be a list of dict"))