I've read the docs for Django that indicate using Fixtures or SQL when the APP is created. But I want to add the same fixture every time a new user is added. I'm not seeing an easy way to do this. I think that signals.py might be a way to do it, but I'm not able to see how to make sure the Fixture is added without an ID.
Fixture docs: https://docs.djangoproject.com/en/dev/howto/initial-data/
For instance, there are 5 tasks that are suggested starting tasks for each user. So each time a new user is created, I want those tasks added to the new users account. Tasks have a FK to User.
I'm open to suggestion for how to get this done.
There is actually pretty easy way of doing it.
Create your initial data dicts somewhere. Any logical place is good.
Create signal: https://docs.djangoproject.com/en/dev/ref/signals/#post-save
Set sender class to django.contrib.auth.models.User
Method called on signal recieves object instance as one of parameters. In that signal, you, unfortunately, have no way of checking, if the user is new user, so you have to check if user has "starter kit" models linked to it, via foreign key or not. If they do not, then create your own models, based on your initial data.
Another way of doing it, would be to extend django.contrib.auth.models.User and add your own custom signal into it's save method, what gets called only, when saving user without pk. In that case you can make sure, that each time signal is called, you have to create new "starter kit".