South data-migration and custom save() method

299 views
Skip to first unread message

Val Neekman

unread,
Dec 20, 2013, 11:15:49 AM12/20/13
to django-d...@googlegroups.com
South (latest) has a limitation where it ignores a custom save() method in the model class.

I am wondering if that is going to be true for the new South in the core in Django 1.7?

Thanks,

Val

Andrew Godwin

unread,
Dec 20, 2013, 11:41:22 AM12/20/13
to django-d...@googlegroups.com
This will also be true for django.db.migrations; there's no way we can serialise save methods as part of the model for later use in migrations. If you want to use complex save logic in migrations, you'll have to copy it into the migration file (which also means the migration will keep working as originally written if you later change what the save method does).

Andrew


--
You received this message because you are subscribed to the Google Groups "Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CADy_H8ERxnyrzf5UGOTPt1%3DUmj46himOBJ3w%2BBrxL49u_E3qyA%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Val Neekman

unread,
Dec 20, 2013, 12:03:40 PM12/20/13
to django-d...@googlegroups.com
Yep, this is what I currently do and I was just hoping for a cleaner solution in 1.7. That's all.
Thanks for django.db.migrations Andrew.

Val


 


Christian Schmitt

unread,
Dec 21, 2013, 5:45:19 PM12/21/13
to django-d...@googlegroups.com
I didn't found anything in the docs... So... could I stil load a fixture with a migration? Like here: http://south.readthedocs.org/en/latest/fixtures.html

Andrew Godwin

unread,
Dec 22, 2013, 6:06:02 AM12/22/13
to django-d...@googlegroups.com
It won't load initial_data fixtures - those are being deprecated for migrated apps - but you could still call loaddata with a custom one, I guess. I'd personally recommend moving away from fixtures and just instantiating objects directly using the ORM inside data migrations.

Andrew


Christian Schmitt

unread,
Dec 22, 2013, 7:43:43 AM12/22/13
to django-d...@googlegroups.com
That's what i do in south, sometimes.

But sometimes you have a bigger table with initial data, like a table with predefined prices. and it wouldn't be that cool to instantiate 20.000 or more prices manually.
Reply all
Reply to author
Forward
0 new messages