MCPcopy
hub / github.com/django/django / save_obj

Method save_obj

django/core/management/commands/loaddata.py:198–224  ·  view source on GitHub ↗

Save an object if permitted.

(self, obj)

Source from the content-addressed store, hash-verified

196 )
197
198 def save_obj(self, obj):
199 """Save an object if permitted."""
200 if (
201 obj.object._meta.app_config in self.excluded_apps
202 or type(obj.object) in self.excluded_models
203 ):
204 return False
205 saved = False
206 if router.allow_migrate_model(self.using, obj.object.__class__):
207 saved = True
208 self.models.add(obj.object.__class__)
209 try:
210 obj.save(using=self.using)
211 # psycopg raises ValueError if data contains NUL chars.
212 except (DatabaseError, IntegrityError, ValueError) as e:
213 e.args = (
214 "Could not load %(object_label)s(pk=%(pk)s): %(error_msg)s"
215 % {
216 "object_label": obj.object._meta.label,
217 "pk": obj.object.pk,
218 "error_msg": e,
219 },
220 )
221 raise
222 if obj.deferred_fields:
223 self.objs_with_deferred_fields.append(obj)
224 return saved
225
226 def load_label(self, fixture_label):
227 """Load fixtures files for a given label."""

Callers 1

load_labelMethod · 0.95

Calls 4

allow_migrate_modelMethod · 0.45
addMethod · 0.45
saveMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected