Opened 14 years ago
Closed 14 years ago
#14989 closed (duplicate)
Allow serializers to non ovewrite fixtures objects if they are marked as non overridable — at Version 4
Reported by: | Manuel Saelices | Owned by: | nobody |
---|---|---|---|
Component: | Core (Serialization) | Version: | dev |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Look at this use case:
- The developer creates a new Django project (i.e. with south support).
- The developer creates the database schema and load the initial data (including in example a demo home page).
- The manager modify home page, and other contents.
- The webmaster upgrade the project, and executing
migrate
command (because south support).
- With default Django serializers, all manager changes that exists as fixtures data will be lost.
I know Django docs prevent about that, but It was wonderful you may mark objects as no rewritable, like this:
!xml <?xml version="1.0" encoding="utf-8"?> <django-objects version="1.0"> <object pk="1" model="fooapp.foomodel" overwrite="no"> <field type="SlugField" name="slug">welcome</field> ... </object> </django-objects>
Look at this implementation as implementation reference.
Change History (4)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
The "this implementation" link goes to an HTTPS server with an invalid cert, and prompts for trac credentials.
comment:4 by , 14 years ago
Description: | modified (diff) |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
I'm going to mark this as a duplicate of #14437. It's not strictly the same thing, but it's a very closely related vein -- controlling the 'force_insert/force_update' behavior of fixture insertion.
The
overwrite="no"
mark, Django should not touch this object when loading fixtures ifthe object already exists.