Pull to refresh

Comments 6

Спасибо за информацию. Надеюсь, пригодится.
На мой взгляд это одно из самых важных изменений в Django 1.2

Теперь высоконагруженные приложения на Django делать гораздо проще.

Например master-slave replication:
 class MasterSlaveRouter(object):
    """A router that sets up a simple master/slave configuration"""
 
    def db_for_read(self, model, **hints):
        "Point all read operations to a random slave"
        return random.choice(['slave1','slave2'])
 
    def db_for_write(self, model, **hints):
        "Point all write operations to the master"
        return 'master'
 
    def allow_relation(self, obj1, obj2, **hints):
        "Allow any relation between two objects in the db pool"
        db_list = ('master','slave1','slave2')
        if obj1._state.db in db_list and obj2._state.db in db_list:
            return True
        return None
 
    def allow_syncdb(self, db, model):
        "Explicitly put all models on all databases."
        return True
Действительно круто! Как появиться проект с потребностью высокой нагрузки, обязательно применю
UFO just landed and posted this here
Тут стоит учитывать происхождение и политику развития django.
Его создавали как фреймворк для себя, при разработке сайта журнала, там одной базы хватало.

А политика развития напралена скорее на удобство использования нежели функционал, и понятно, что малому количеству пользователей нужна такая функция.

На ваш взгляд где удобнее поддежка нескольких бд?
UFO just landed and posted this here
Sign up to leave a comment.

Articles