我正在尝试为现有的 postgresql 数据库开发一个 django 接口,该数据库使用各种模式,查看文献,下面的示例应该可以工作,但它只返回当我运行时在默认数据库中定义的模式python manaage.py inspectdb
。另外,当这有效时,如何定义在定义 django 模型时使用哪个模式?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS' : {
'options': '-c search_path=public'
},
'NAME': 'gygaia',
'USER':'postgres',
'PASSWORD':'abc',
'HOST':'localhost',
'PORT':'5432',
},
'samples': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS' : {
'options': '-c search_path=samples'
},
'NAME': 'gygaia',
'USER':'postgres',
'PASSWORD':'abc',
'HOST':'localhost',
'PORT':'5432',
},
'excavation': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS' : {
'options': '-c search_path=excavation'
},
'NAME': 'gygaia',
'USER':'postgres',
'PASSWORD':'abc',
'HOST':'localhost',
'PORT':'5432',
},
}
Run Code Online (Sandbox Code Playgroud) 我有一系列包含列的日期范围,例如 start_date、end_date、period_name
1 100 Roman
-50 75 Iron Age b
-100 20 Iron Age a
Run Code Online (Sandbox Code Playgroud)
我的团队要求我构建 2 个查询:
选择罗马时期和任何重叠的时期
与 1 相同,但仅限重叠 >40% 的范围
我假设我必须在 postgresql (PL/pgSQL) 中编写一个函数,非常欢迎任何帮助。