`
zhouxi2010
  • 浏览: 51037 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

django中south支持多数据库

阅读更多
settings的DATABASES配置成多个,其中一个是default,其他的用appname来做key;
然后指明一个route文件,来做数据库路由
 DATABASE_ROUTERS = [
      'meila_admin.route.Router',
 ]
再来实现这个route.py
from django.db import DEFAULT_DB_ALIAS
appnames = ['**', '**'] #这里是用非默认数据库的app
class Router(object):
    """
    A router to control all database operations on models in the
    auth application.
    """
    def db_for_read(self, model, **hints):
        """
        Attempts to read auth models go to auth_db.
        """
        if model._meta.app_label in appnames:
            return model._meta.app_label
        return None
 
    def db_for_write(self, model, **hints):
        """
        Attempts to write auth models go to auth_db.
        """
        if model._meta.app_label in appnames:
            return model._meta.app_label
        return None
 
    def allow_relation(self, obj1, obj2, **hints):
        return True
 
    def allow_syncdb(self, db, model):
        """
        Make sure the auth app only appears in the 'auth_db'
        database.
        """
        if model._meta.app_label in ['south']:
            return True
        if db in appnames:
            return model._meta.app_label == db
        elif db == DEFAULT_DB_ALIAS and model._meta.app_label not in appnames:
            return True
        return False
 
 
#注意第一次south其他数据库时,需要用syncdb
分享到:
评论

相关推荐

    Django -1.11.6下载

    3. 数据库管理:Django提供了强大的数据库管理工具,如数据库迁移系统(South被集成到Django内核中),用于管理应用程序的数据库结构变化,确保在开发过程中数据的安全。 4. URL路由:Django的URLconfs(URL配置)...

    django1.2文档

    - **国际化和本地化**:Django 1.2 强化了多语言支持,允许开发者轻松地为应用添加不同语言的翻译,并支持时区处理。 - **静态文件处理**:在部署过程中,Django 1.2 提供了更好的静态文件管理和收集功能,使得 CSS...

    django cms 用户文档

    - 国际化:如何使用Django CMS创建支持多语言的网站。 - Sitemap指南:为搜索引擎优化(SEO)提供站点地图的创建和管理。 - 模板标签:自定义和扩展Django CMS的模板系统。 - 命令行接口:通过命令行管理网站内容。 ...

    The Django Book1.0中文版

    5. **模型(Model)**:模型是数据库中的数据结构,定义了字段和行为。Django提供了ORM(对象关系映射),使得开发者可以使用Python对象来操作数据库,无需编写SQL。 6. **表单(Form)**:Django的表单系统用于...

    django1.6支持python3

    在Django 1.6中,ORM仍然是强大且灵活的工具,支持多种数据库,包括SQLite、MySQL、PostgreSQL等。此外,Django的模型-视图-控制器(MVC)设计模式使得业务逻辑、数据展示和用户交互分离,便于代码维护和扩展。 ...

    django1.4官方离线文档 html

    - South Integration:Django 1.4默认集成了South数据迁移工具,使得数据库结构的变化变得更容易管理。 3. Django模型(Models) Django模型是数据库表的Python表示,用于定义数据结构、字段类型、验证规则等。在...

    django 1.3 docs

    8. **国际化和本地化(i18n & l10n)**:Django 1.3 支持多语言,允许开发者轻松地为应用添加翻译支持,包括字符串、日期和时间格式。 9. **管理界面(Admin)**:Django 自带了一个强大的后台管理界面,允许管理员...

    Django Book中文版

    5. **数据库迁移工具**:Django的`South`或`django.db.migrations`模块,使得数据库结构的修改变得平滑,避免数据库版本冲突。 总的来说,Django Book中文版对于想要学习Django的开发者来说是一份宝贵的资源。它...

    Django 1.4.2

    - **数据库迁移工具 South**:虽然在 1.7 版本后 Django 内置了数据库迁移系统,但在 1.4.2 中,South 是常用的第三方解决方案,用于管理数据库结构的变更。 - **Python 支持**:Django 1.4.2 支持 Python 2.6 和 ...

    django 1.7

    Django 1.7引入了自动数据库迁移系统,名为`django.db.migrations`,替代了之前的`south`第三方库。这使得开发者可以更容易地跟踪和管理数据库模式的变化,大大简化了数据库版本控制的过程。 ### 4. 改进的模板系统...

    django2.0官方中文版

    3. **弃用旧功能**:为了保持框架的现代化,Django 2.0 弃用了一些过时的功能,如 `south` 数据库迁移工具(已被 `django.db.migrations` 替代)、`django.core.context_processors.csrf` 和 `django.core.context_...

    django 多数据库及分库实现方式

    在Django框架中,多数据库...总的来说,Django的多数据库支持和路由机制为开发者提供了灵活的数据管理方案,能够适应各种复杂的数据库架构需求。通过合理的配置和路由策略,可以有效地提高系统性能、扩展性和可维护性。

    django-docs-1.6文档API

    在 Django 中,模型是数据结构的抽象,对应数据库中的表。Django 的模型允许开发者定义字段类型、管理选项以及定制行为。例如,你可以创建一个 `User` 模型,包含 `username`、`email` 和 `password` 字段,通过简单...

    django1.0文档

    1. **数据库管理**: Django 1.0 包含了数据库迁移工具 South 的早期版本,帮助开发者在数据库结构变化时保持数据完整性。 2. **缓存系统**: Django 提供了多种缓存策略,包括基于内存的缓存、数据库缓存以及第三方...

    django1.3.7

    2. **ORM 和数据库管理** - 提供了对多种数据库的支持,如 SQLite、MySQL、PostgreSQL 和 Oracle,具备数据库迁移工具 South(尽管 1.7 版本后内建了迁移系统)。 3. **表单和验证** - 内置了处理 HTTP 表单的强大...

    django 1.7.3

    Django 1.7 添加了内置的数据库迁移系统,名为 `South` 的第三方库被集成到核心框架中。这使得开发者可以在项目开发过程中轻松地对数据库结构进行修改,并在多个环境中同步这些变更。 3. **模型元类**: Django ...

    django1.8官方离线文档

    Django对多语言支持做得非常出色,1.8版本详细讲解了如何进行国际化设置,包括翻译文本、日期和时间格式,以及如何生成语言文件。 9. **部署与安全**: 文档还涵盖了Django项目的部署步骤,如配置WSGI服务器、...

    Django 1.5 app

    通过继承 Django 的 `models.Model` 类,开发者可以创建包含字段和方法的对象,这些对象与数据库中的记录相对应。 5. **视图(Views)**:视图是应用的业务逻辑部分,它们处理 HTTP 请求并返回响应。视图可以访问...

    Django-1.3.1.tar.gz

    9. **国际化与本地化(i18n & l10n)**:Django支持多语言,提供翻译工具和流程,帮助开发者构建全球化应用。 10. **数据库迁移工具(South)**:虽然1.3.1版本的Django还没有内置的迁移系统,但当时的开发者经常...

    django-main_python_源码

    Django拥有庞大的生态系统,众多的第三方应用如South(数据库迁移工具)、Django Rest Framework(RESTful API开发)、Sorl.thumbnail(图片处理)等,使得Django可以应对各种复杂的应用场景。 总结,Django作为...

Global site tag (gtag.js) - Google Analytics