Wicket также является альтернативой, которая полностью отделяет java от html, поэтому разработчик и программист могут работать вместе и на разных наборах кода с небольшим пониманием друг друга.
Посмотрите на Wicket.
Может быть, это поможет.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS': {
'options': '-c search_path=your_schema'
},
'NAME': 'your_name',
'USER': 'your_user',
'PASSWORD': 'your_password',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
Я получаю ответ по следующей ссылке: http://blog.amvtek.com/posts/2014/Jun/13/accessing-multiple-postgres-schemas-from-django/
Нет явной поддержки Django для схем postgreSQL.
При использовании Django (0.95) нам пришлось добавить search_path к соединителю базы данных Django для PostgreSQL, потому что Django не поддерживал указание схемы, которую использовали таблицы, управляемые ORM.
Взято из:
http://nxsy.org/using-postgresql-schemas-with-sqlalchemy-and-elixir
Общее Ответ заключается в использовании SQLAlchemy для правильного построения SQL.
О, и вот еще одна ссылка с некоторыми предложениями о том, что вы можете сделать с базой Django, расширяя ее, чтобы попытаться поддержать вашу схему:
Я добился успеха, просто сказав
db_table = 'schema\".\"tablename'
в классе Мета, но это действительно некрасиво. И я использовал его только в ограниченных сценариях - он вполне может сломаться, если вы попробуете что-то сложное. И, как было сказано ранее, на самом деле он не поддерживается ...
Я использовал:
db_table = '"schema"."tablename"'
в прошлом, но не осознавал, что работает только для операций только для чтения. Когда вы попытаетесь добавить новую запись, это не удастся, потому что последовательность будет чем-то вроде "schema.tablename" _column_id_seq.
db_table = 'schema\".\"tablename'
пока работает. Спасибо.
Это немного сложнее, чем хитрый побег. Взгляните на Ticket # 6148 в Django, возможно, решение или, по крайней мере, патч. Он вносит небольшие изменения в ядро django.db, но, надеюсь, он будет официально включен в django. После этого нужно просто сказать
db_schema = 'whatever_schema'
в классе Meta или для набора глобальных изменений
DATABASE_SCHEMA = 'default_schema_name'
в settings.py
ОБНОВЛЕНИЕ: 2015-01-08
Соответствующая проблема в django была открыта для 7 лет и патч там уже работать не будет. Правильный ответ на этот вопрос должен быть ...
В настоящий момент вы не можете использовать схемы postgreSQL в django из коробки.