Opened 3 years ago
Closed 3 years ago
#33427 closed New feature (wontfix)
Add new flag in loaddata command that loads fixture without overriding existing objects with same primary key
Reported by: | Mohit Solanki | Owned by: | nobody |
---|---|---|---|
Component: | Core (Management commands) | Version: | dev |
Severity: | Normal | Keywords: | loaddata, fixture, command |
Cc: | me@… | 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 )
Installing fixtures with django's loaddata
command overrides objects with the same primary key.
While this is not a problem if you are installing the fixtures against a fresh DB with no data but in case you have
existing data then loading the fixture can be problematic as all the existing rows with the same primary key will be updated
with the new data from the fixture(s)
It would be a good idea to have an additional flag like for e.g --insert-only
or something that tells django not to override existing objects with the same primary key.
Note: I created this package https://github.com/mohi7solanki/dj-snake to solve this issue but I think It would be a good idea to add this functionality to loaddata
itself
Change History (4)
comment:1 by , 3 years ago
Description: | modified (diff) |
---|
comment:2 by , 3 years ago
comment:3 by , 3 years ago
Hi Mohit.
I'm going to say wontfix here initially: I'm not sure there's much benefit in complicating loaddata
; the thought is to create your own command if you need this, which is just what you've done — nice working sharing that.
It may be that a post to the DevelopersMailingList or Forum would show more demand in which case we could re-open…
Thanks.
comment:4 by , 3 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Thanks for submitting the ticket Mohit. I'll let someone else (probably a fellow) comment if it's worth accepting.