【发布时间】:2018-11-22 00:05:23
【问题描述】:
我整个星期都在尝试解决这个问题,非常感谢您的帮助。
我在 postgres 数据库中有各种模式,我希望能够从相同或跨不同的 django 应用程序映射到它们。
一些架构是:
样本
挖掘
地球物理学
...
我已经尝试了推荐的方法,但是我没有从架构中获取任何数据来显示,我只能使用托管表连接到公共架构。这是来自 settings.py 文件的数据库连接。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS': {
'options': '-c search_path=django,public'
},
'NAME': 'gygaia',
'USER': 'appuser',
'PASSWORD': 'secret',
},
'samples': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS': {
'options': '-c search_path=samples,public'
},
'NAME': 'gygaia',
'USER': 'appuser',
'PASSWORD': 'secret',
},
}
来源:https://www.amvtek.com/blog/posts/2014/Jun/13/accessing-multiple-postgres-schemas-from-django/
在model.py中我添加:
from django.db import models
# Create your models here.
class Storage(models.Model):
#id = models.IntegerField(default=0)
storage_id = models.AutoField(primary_key=True)
store_name = models.CharField(max_length=200, default='')
address_1 = models.CharField(max_length=200, default='')
address_2 = models.CharField(max_length=200, default='')
region = models.CharField(max_length=200, default='')
city = models.CharField(max_length=200, default='')
zip = models.CharField(max_length=200, default='')
country = models.CharField(max_length=200, default="Turkey")
user = models.CharField(max_length=200, default="Gygaia")
datestamp = models.DateTimeField(auto_now=True)
class Meta():
managed=False
db_table = 'samples\".\"store'
我不想将模式限制为用户,并且数据库是几年前创建的,因此我不允许将其全部归入一个模式。我知道在 stackoverflow 和互联网的其他核心上发布了各种解决方案,我已经尝试过这些,但我无法让它工作。任何想法如何解决这些问题??
【问题讨论】:
标签: django postgresql schema database-schema