1
- from ..forms import MultipleEmbeddedModelFormField
1
+ from ..forms import EmbeddedModelArrayFormField
2
2
from . import EmbeddedModelField
3
3
from .array import ArrayField
4
4
5
5
6
- class MultipleEmbeddedModelField (ArrayField ):
6
+ class EmbeddedModelArrayField (ArrayField ):
7
7
def __init__ (self , model , ** kwargs ):
8
8
super ().__init__ (EmbeddedModelField (model ), ** kwargs )
9
9
10
10
def deconstruct (self ):
11
11
name , path , args , kwargs = super ().deconstruct ()
12
- if (
13
- path
14
- == "django_mongodb_backend.fields.multiple_embedded_model.MultipleEmbeddedModelField"
15
- ):
16
- path = "django_mongodb_backend.fields.MultipleEmbeddedModelField"
12
+ if path == "django_mongodb_backend.fields.multiple_embedded_model.EmbeddedModelArrayField" :
13
+ path = "django_mongodb_backend.fields.EmbeddedModelArrayField"
17
14
kwargs .update (
18
15
{
19
16
"model" : self .base_field .embedded_model ,
@@ -23,10 +20,15 @@ def deconstruct(self):
23
20
del kwargs ["base_field" ]
24
21
return name , path , args , kwargs
25
22
23
+ def get_db_prep_value (self , value , connection , prepared = False ):
24
+ if isinstance (value , list | tuple ):
25
+ return [self .base_field .get_db_prep_save (i , connection ) for i in value ]
26
+ return value
27
+
26
28
def formfield (self , ** kwargs ):
27
29
return super ().formfield (
28
30
** {
29
- "form_class" : MultipleEmbeddedModelFormField ,
31
+ "form_class" : EmbeddedModelArrayFormField ,
30
32
"model" : self .base_field .embedded_model ,
31
33
"max_length" : self .size ,
32
34
"prefix" : self .name ,
0 commit comments