def populate_model(model, instances, create=True):
model_fields = filter((lambda x: isinstance(x, models.Field)),
model._meta.get_fields())
kwargs = {}
# Outstanding instances in case of Many-to-Many relations.
outstanding = {}
for model_field in model_fields:
if isinstance(model_field, models.AutoField):
continue
field_value, isoutstanding = generate_field_value(
model_field, instances)
if isoutstanding:
outstanding[model_field.name] = field_value
else:
kwargs[model_field.name] = field_value
if not create:
return kwargs
return create_instance(model, kwargs, outstanding)
评论列表
文章目录