For starters, why are you trying to backup a model to the same database instead of just dumping the whole database?
On Sun, Oct 16, 2016 at 10:02 AM, Andromeda Yelton < [email protected]> wrote: > I've found myself in the situation of needing to copy model data to new > model instances. This rapidly turned into a twisty sort of hell where I was > doing recursion on graphs in order to preserve all the foreign key > references (and then special-casing all the OneToOne fields, because > naively copying those will throw IntegrityErrors right and left...) Now it > is one of those unmaintainable-horror corners of the codebase that no one > wants to go near. > > Just back up your whole database. If you're using postgres, pg_dump makes > this really straightforward. > > On Sun, Oct 16, 2016 at 2:40 AM, Bernd Wechner <[email protected]> > wrote: > >> A curious question I've had trouble finding an answer for alas. I have a >> model that I'd like to backup in the database in a backup model. This being >> the pro-forma so to speqk: >> >> from django.db import models >> >> class MyModel(models.Model): >> # Declare fields .... >> >> class MyModel_backup(MyModel): >> def create(self): >> self.objects = MyModel.objects.all() >> >> But there are two immediate problems. >> >> 1. Deriving from MyModel reveals itself in the migration to be >> generating a model which has a single OneToOne reference to MyModel. That >> is ti does not appear to create a duplicate model at all. Which leaves me >> wondering how to create a duplicate model without repeating the code. >> >> 2. I have no really idea how to copy all the objects of MyModel to a >> new model. >> >> I may be approaching it poorly and am open to better ideas. I'm used to >> doing it in SQL, essentially having an identically defined backup table, >> just copying data to that table before doing a (risky) table wide operation >> on the first. >> >> I could of course export a serialized backup to a disk file, but am >> exploring options for keeping one backup in the database itself. >> >> I'd rather, I admit hear options for doing that than philosophic >> appraisals of the benefits of an in-database copy vs, database exports. >> >> Regards, >> >> Bernd. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/django-users. >> To view this discussion on the web visit https://groups.google.com/d/ms >> gid/django-users/a19ba010-572b-4097-a988-f357cc5b6c31%40googlegroups.com >> <https://groups.google.com/d/msgid/django-users/a19ba010-572b-4097-a988-f357cc5b6c31%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Andromeda Yelton > Vice President/President-Elect, Library & Information Technology > Association: http://www.lita.org > http://andromedayelton.com > @ThatAndromeda <http://twitter.com/ThatAndromeda> > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/django-users/CAFE1XCYW9cLixRSG2bmBM3Knm0hhf_4q%2BcZvuvvXcDPZmf9nKw% > 40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAFE1XCYW9cLixRSG2bmBM3Knm0hhf_4q%2BcZvuvvXcDPZmf9nKw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CALn3ei00d32BoWERFf3%3DRdb8mNzmmqRiG2P0uRg84G%2BJQucuMQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

