7
Tôi có một ứng dụng sử dụng nhiều cơ sở dữ liệu. Khi một đối tượng instance model nằm trong bộ nhớ, làm thế nào tôi có thể xác định được cơ sở dữ liệu mà nó đến từ đâu? Cụ thể, tôi muốn biết điều này để sử dụng trong một phương thức trên lớp mô hình.Nhận cơ sở dữ liệu đối tượng mô hình django được truy vấn từ
Ví dụ:
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})
séc http://stackoverflow.com/questions/9929629/how-to-get-the-database -where-a-model-instance-was-saved-to-in-django – okm
có thể trùng lặp của [Mô hình django có biết cơ sở dữ liệu nào được tải và thông tin này có thể được truy cập không?] (http: // stackoverflow. com/questions/4146781/does-a-django-model-know-from-which-database-it-was-loaded-and-how-can-this-info này) – Louis