У меня есть несколько приложений Django, и они должны совместно использовать одну базу данных на Heroku.Я могу указать общую базу данных для каждого оператора, которому необходимо получить к ней доступ, например:
from account.models import User
if DEBUG: # Running locally
users = User.objects.all() # 'default' DB
else: # Running on Heroku
users = User.objects.using('shared').all() # 'shared' DB
У меня есть два вопроса:
1) Задание базы данных shared
для каждого оператора:действительно утомительно.Можно ли установить базу данных shared
один раз для всех (возможно, в setting.py
)?Например:
from account.models import User
if not DEBUG: # Running on Heroku
User = User.objects.using('share') # This is hypothetical!!
users = User.objects.all()
2) Как установить базу данных shared
для внешнего ключа.Например:
from account.models import User
class Article(models.Model):
author = models.ForeignKey(User) # How to set 'User' to come from 'shared' DB?