2014-12-09 20 views

cevap

8

olarak bildiğim kadarıyla, geçici Varolan bir veritabanı bağlantısı (ler) için Django hareket yalıtım düzeyini değiştirmek için bir yolu yoktur. Ancak, varsayılan veritabanı bağlantılarınızı yansıtan ancak işlem yalıtımı düzeyini ayarlayan başka bir veritabanı bağlantısı kurabilirsiniz.

örn. sizin settings.py içinde:

DATABASES = { 
    'default': { 
     'NAME': 'app_data', 
     'ENGINE': 'django.db.backends.postgresql', 
     'USER': 'postgres_user', 
     'PASSWORD': 's3krit', 
    }, 
    'serializable': { 
     'NAME': 'app_data', 
     'ENGINE': 'django.db.backends.postgresl', 
     'USER': 'postgres_user', 
     'PASSWORD': 's3krit', 
     'OPTIONS': { 
      'isolation_level': psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE, 
     }, 
    }, 
} 

seri hale getirilebilir işlem seviyesini kullanmak için olabilir:

  1. kullanın using()QuerySet method örn
  2. User.objects.using('serializable').all

    class SerializableUserManager(models.Manager): 
        def get_queryset(self): 
         return super(SerializableUserManager, self).get_queryset().using('serializable') 
    
+0

Kabul edilebilir hareket yalıtım düzeyi ile veritabanı bağlantısı belirten bir custom manager ekleyin. Teşekkür ederim. –

İlgili konular