7
Tengo una aplicación que utiliza múltiples bases de datos. Una vez que un objeto ejemplar modelo está en la memoria, ¿cómo puedo determinar de qué base de datos proviene? Específicamente, me gustaría saber esto para usar en un método en la clase de modelo.Obtener base de datos objeto modelo django fue consultado desde
Ejemplo:
class book(Models.model):
newdate = models.DateField(default=date.today())
type = models.CharField(
max_length=30,
choices=BOOK_TYPE,
default = 'novel',
)
def get_current_student(self):
if not hasattr(self,'_current_student'):
try:
self._current_student = clickerlog.objects.using(SELF.ORIGIN_DATABASE).get(book=self.pk,end__isnull = True).student
except:
self._current_student = none
return self._current_student
class booklog(Models.model):
start = models.DateTimeField(
default=datetime.now(),
verbose_name = 'start time'
)
end = models.DateTimeField(null=True,blank=True,)
book = models.ForeignKey(book)
student = models.ForeignKey(student,
limit_choices_to = {'isactive':True})
cheque http://stackoverflow.com/questions/9929629/how-to-get-the-database -donde-a-model-instance-was-saved-to-in-django – okm
posible duplicado de [¿Sabe un modelo django de qué base de datos se cargó y cómo se puede acceder a esta información?] (http: // stackoverflow. com/questions/4146781/does-a-django-model-know-from-which-database-it-was-loaded-and-how-can-this-info) – Louis