Pavel Denisov: в мете нет специального атрибута для базы. Но в мете можно самостоятельно указать любые атрибуты, и потом использовать их на уровне своего роутера.
xoolo: Ну ты подробнее расскажи, что ты хочешь сделать и что тебе в документации не поянтно. Или почему то что написнао в документации тебе на подходит?
после написания моделей я делаю миграцию и все таблицы записываются в дефолтную базу, Если указываю ключ --database=<название второй базы> получаю идентичную базу с другим названием. Мне нужно что бы при выполнении миграции в дефолтную базу записались все служебные таблицы django, а во вторую базу (в последствии и в третью) описанные мною модели
xoolo: Обычно бывают связи между своими моделями и джанговскими моделями. Если разнести их на разные базы, то потом может поличиться очень геморойно выстраивать отношения между ними. Ты уверен, что хочешь этого? Какой смысл?
xoolo: мда. Блин, чувак, это не сеьезный подход. Я тебе даже пример кода написал. А ты даже не можешь сказать в чем у тебя проблема. С таким подходом лучше тогде уже не трать чужое время.
class Overhead(object):
"""A router to control all database operations on models in the myapp application"""
def db_for_read(self, model, **hints):
"""Suggest the database that should be used for read operations for objects of type model."""
if model._meta.app_label == "home":
return "overhead_data"
return None
def db_for_write(self, model, **hints):
"""Suggest the database that should be used for writes of objects of type Model."""
if model._meta.app_label == "home":
return "overhead_data"
return None
def allow_relation(self, obj1, obj2, **hints):
"""Deny any relation if a model in specialapp is involved"""
if obj1._meta.app_label == "home" or \
obj2._meta.app_label == "home":
return False
return None
def allow_syncdb(self, db, model):
"""Deny sync db for the specialapp models"""
if model._meta.app_label == "home":
return False
if db == "overhead_data":
return False
return None