7

複数のデータベースを使用するアプリケーションがあります。モデル インスタンス オブジェクトがメモリに格納されたら、それがどのデータベースからのものかをどのように判断できますか? 具体的には、モデル クラスのメソッドで使用するためにこれを知りたいです。

例:

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})
4

1 に答える 1

20

もう少し掘り下げた後、私はそれを見つけました:

self._state.db
于 2012-04-29T19:19:08.007 に答える