feat(base): add support for manytomany for model unit tests
ref: #804 #799
This commit is contained in:
@ -110,7 +110,44 @@ class ModelTestCases(
|
||||
|
||||
else:
|
||||
|
||||
instance = model.objects.create( **model_kwargs )
|
||||
|
||||
kwargs = {}
|
||||
|
||||
many_field = {}
|
||||
|
||||
for field, value in model_kwargs.items():
|
||||
|
||||
if isinstance(getattr(model, field).field, models.ManyToManyField):
|
||||
|
||||
if field in many_field:
|
||||
|
||||
many_field[field] += [ value ]
|
||||
|
||||
else:
|
||||
|
||||
many_field.update({
|
||||
field: [
|
||||
value
|
||||
]
|
||||
})
|
||||
|
||||
continue
|
||||
|
||||
kwargs.update({
|
||||
field: value
|
||||
})
|
||||
|
||||
instance = model.objects.create( **kwargs )
|
||||
|
||||
|
||||
|
||||
for field, values in many_field.items():
|
||||
|
||||
for value in values:
|
||||
|
||||
getattr(instance, field).add( value )
|
||||
|
||||
|
||||
|
||||
yield instance
|
||||
|
||||
|
Reference in New Issue
Block a user