Django and celery on different servers and celery being able to send a callback to django once a task gets completed
I've used the following set up on my application:

Task is initiated from Django - information is extracted from the model instance and passed to the task as a dictionary. NB - this will be more future proof as Celery 4 will default to JSON encoding
Remote server runs task and creates a dictionary of results
Remote server then calls an update task that is only listened for by a worker on the Django server.
Django worker read results dictionary and updates model.

The Django worker listens to a separate queue, those this isn't strictly necessary. Results backend isn't used - data needed is just passed to the task
I have a django project where I am using celery with rabbitmq to perform a set of async. tasks. So the setup i have planned goes like this.

Django app running on one server.
Celery workers and rabbitmq running from another server.

My initial issue being, how to do i access django models from the celery tasks resting on another server?
and assuming I am not able to access the Django models, is there a way once the tasks gets completed, i can send a callback to the Django application passing values, so that i get to update the Django's database based on the values passed?