I will check it ! thanks ! On Fri, Nov 8, 2013 at 12:19 PM, George Silva <georger.si...@gmail.com>wrote:
> Let me explain this better. > > I've created a custom manager, in which I replaced the default database > alias it should connect. > > class ExternalManager(models.Manager): > > > """ > > Manager customizado para buscar os dados no banco legado. > > > """ > > alias = None > > > > > > > def __init__(self, alias=None): > > > self.alias = alias > > > super(LegadoManager, self).__init__() > > > > > > > def get_query_set(self): > > """ > > > Retorna um query set conectando ao banco legado. > > > """ > > > if not hasattr(self.model, '_db_alias'): > > > self.model._db_alias = self.alias > > > qs = QuerySet(self.model) > > > if self.model._db_alias is not None: > > > qs = qs.using(self.model._db_alias) > > > return qs > > > > > > > Now, create your model and override the objects property, passing the name > of the database configured in settings.py as the alias. > > > Like this: > > > class ModelInAnotherDatabase(models.Model): > > > name = models.CharField() > > > objects = ExternalManager(alias="external") > > > Where external is the database name configured in settings.py. > > > > On Fri, Nov 8, 2013 at 3:11 PM, Ovnicraft <ovnicr...@gmail.com> wrote: > >> >> >> >> On Fri, Nov 8, 2013 at 11:39 AM, George Silva <georger.si...@gmail.com>wrote: >> >>> I only had to query external databases. >>> >>> I've created my models as managed=False and implemented a custom manager >>> that redefined the default database configuration. We did not had >>> situations where depending on a certain condition the target database would >>> change, but this worked just fine. >>> >> >> What database configuration did you change ? >> >> Regards, >> >>> >>> >>> On Fri, Nov 8, 2013 at 12:45 PM, Ovnicraft <ovnicr...@gmail.com> wrote: >>> >>>> Hi to all friends ! >>>> >>>> I am working in django project its has many apps with their default db >>>> configured. >>>> So now i need to read (and possible write) to third DB (mysql) and i >>>> found a thread[1] here about it. >>>> >>>> There are some suggestions about write ReadOnly objects, redefine save >>>> methods but i'm not totally convinced about it. >>>> >>>> Reading documentation about multidb i found DB routes and it has >>>> allow_syndb[2] so my question is, if i code to dont allow sync any model in >>>> third db i can query (RAW SQL) without problems ? >>>> >>>> I dont want to write any dirty layer to connect to my third DB just >>>> re-use django engine. >>>> >>>> I will appreciated your help ! >>>> >>>> Best regards, >>>> >>>> [1] >>>> https://groups.google.com/forum/#!msg/django-users/rv6D5Pqs7Fo/pkwinU7PGOQJ >>>> [2] >>>> https://docs.djangoproject.com/en/1.4/topics/db/multi-db/#allow_syncdb >>>> >>>> >>>> -- >>>> Cristian Salamea >>>> @ovnicraft >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Django users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to django-users+unsubscr...@googlegroups.com. >>>> To post to this group, send email to django-users@googlegroups.com. >>>> Visit this group at http://groups.google.com/group/django-users. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/django-users/CA%2B16coM5s7KgGrMF4MqTGY5DYZ%2B7M43-4PkV14sm2yNTvstCHA%40mail.gmail.com >>>> . >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> >>> >>> >>> -- >>> George R. C. Silva >>> SIGMA Consultoria >>> ---------------------------- >>> http://www.consultoriasigma.com.br/ >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Django users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to django-users+unsubscr...@googlegroups.com. >>> To post to this group, send email to django-users@googlegroups.com. >>> Visit this group at http://groups.google.com/group/django-users. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/django-users/CAGyPVTsLt%2BPcWojAeGJFGqE9oNsR4HA6ecgnYg8zeBU%2BTGFG-g%40mail.gmail.com >>> . >>> >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> >> >> -- >> Cristian Salamea >> @ovnicraft >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to django-users+unsubscr...@googlegroups.com. >> To post to this group, send email to django-users@googlegroups.com. >> Visit this group at http://groups.google.com/group/django-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/CA%2B16coOOX0W6MjxDvB9GRUjq%3D-tYj4bfZX%2B_K1hV1rUt-uMpiA%40mail.gmail.com >> . >> >> For more options, visit https://groups.google.com/groups/opt_out. >> > > > > -- > George R. C. Silva > SIGMA Consultoria > ---------------------------- > http://www.consultoriasigma.com.br/ > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-users+unsubscr...@googlegroups.com. > To post to this group, send email to django-users@googlegroups.com. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAGyPVTsDVY89bjLP2nkEDQ14vJ8K7xG21riFGj70b2HROm731w%40mail.gmail.com > . > > For more options, visit https://groups.google.com/groups/opt_out. > -- Cristian Salamea @ovnicraft -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CA%2B16coOctefCP-cJ-p2ovG3fmZ76-H_GUWMt_JYnajVTra-gBQ%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.