Save an object if permitted.
(self, obj)
| 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.""" |
no test coverage detected