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
相关推荐
3. 数据库管理:Django提供了强大的数据库管理工具,如数据库迁移系统(South被集成到Django内核中),用于管理应用程序的数据库结构变化,确保在开发过程中数据的安全。 4. URL路由:Django的URLconfs(URL配置)...
- **国际化和本地化**:Django 1.2 强化了多语言支持,允许开发者轻松地为应用添加不同语言的翻译,并支持时区处理。 - **静态文件处理**:在部署过程中,Django 1.2 提供了更好的静态文件管理和收集功能,使得 CSS...
- 国际化:如何使用Django CMS创建支持多语言的网站。 - Sitemap指南:为搜索引擎优化(SEO)提供站点地图的创建和管理。 - 模板标签:自定义和扩展Django CMS的模板系统。 - 命令行接口:通过命令行管理网站内容。 ...
5. **模型(Model)**:模型是数据库中的数据结构,定义了字段和行为。Django提供了ORM(对象关系映射),使得开发者可以使用Python对象来操作数据库,无需编写SQL。 6. **表单(Form)**:Django的表单系统用于...
在Django 1.6中,ORM仍然是强大且灵活的工具,支持多种数据库,包括SQLite、MySQL、PostgreSQL等。此外,Django的模型-视图-控制器(MVC)设计模式使得业务逻辑、数据展示和用户交互分离,便于代码维护和扩展。 ...
- South Integration:Django 1.4默认集成了South数据迁移工具,使得数据库结构的变化变得更容易管理。 3. Django模型(Models) Django模型是数据库表的Python表示,用于定义数据结构、字段类型、验证规则等。在...
8. **国际化和本地化(i18n & l10n)**:Django 1.3 支持多语言,允许开发者轻松地为应用添加翻译支持,包括字符串、日期和时间格式。 9. **管理界面(Admin)**:Django 自带了一个强大的后台管理界面,允许管理员...
5. **数据库迁移工具**:Django的`South`或`django.db.migrations`模块,使得数据库结构的修改变得平滑,避免数据库版本冲突。 总的来说,Django Book中文版对于想要学习Django的开发者来说是一份宝贵的资源。它...
- **数据库迁移工具 South**:虽然在 1.7 版本后 Django 内置了数据库迁移系统,但在 1.4.2 中,South 是常用的第三方解决方案,用于管理数据库结构的变更。 - **Python 支持**:Django 1.4.2 支持 Python 2.6 和 ...
Django 1.7引入了自动数据库迁移系统,名为`django.db.migrations`,替代了之前的`south`第三方库。这使得开发者可以更容易地跟踪和管理数据库模式的变化,大大简化了数据库版本控制的过程。 ### 4. 改进的模板系统...
3. **弃用旧功能**:为了保持框架的现代化,Django 2.0 弃用了一些过时的功能,如 `south` 数据库迁移工具(已被 `django.db.migrations` 替代)、`django.core.context_processors.csrf` 和 `django.core.context_...
在Django框架中,多数据库...总的来说,Django的多数据库支持和路由机制为开发者提供了灵活的数据管理方案,能够适应各种复杂的数据库架构需求。通过合理的配置和路由策略,可以有效地提高系统性能、扩展性和可维护性。
在 Django 中,模型是数据结构的抽象,对应数据库中的表。Django 的模型允许开发者定义字段类型、管理选项以及定制行为。例如,你可以创建一个 `User` 模型,包含 `username`、`email` 和 `password` 字段,通过简单...
1. **数据库管理**: Django 1.0 包含了数据库迁移工具 South 的早期版本,帮助开发者在数据库结构变化时保持数据完整性。 2. **缓存系统**: Django 提供了多种缓存策略,包括基于内存的缓存、数据库缓存以及第三方...
2. **ORM 和数据库管理** - 提供了对多种数据库的支持,如 SQLite、MySQL、PostgreSQL 和 Oracle,具备数据库迁移工具 South(尽管 1.7 版本后内建了迁移系统)。 3. **表单和验证** - 内置了处理 HTTP 表单的强大...
Django 1.7 添加了内置的数据库迁移系统,名为 `South` 的第三方库被集成到核心框架中。这使得开发者可以在项目开发过程中轻松地对数据库结构进行修改,并在多个环境中同步这些变更。 3. **模型元类**: Django ...
Django对多语言支持做得非常出色,1.8版本详细讲解了如何进行国际化设置,包括翻译文本、日期和时间格式,以及如何生成语言文件。 9. **部署与安全**: 文档还涵盖了Django项目的部署步骤,如配置WSGI服务器、...
通过继承 Django 的 `models.Model` 类,开发者可以创建包含字段和方法的对象,这些对象与数据库中的记录相对应。 5. **视图(Views)**:视图是应用的业务逻辑部分,它们处理 HTTP 请求并返回响应。视图可以访问...
9. **国际化与本地化(i18n & l10n)**:Django支持多语言,提供翻译工具和流程,帮助开发者构建全球化应用。 10. **数据库迁移工具(South)**:虽然1.3.1版本的Django还没有内置的迁移系统,但当时的开发者经常...
Django拥有庞大的生态系统,众多的第三方应用如South(数据库迁移工具)、Django Rest Framework(RESTful API开发)、Sorl.thumbnail(图片处理)等,使得Django可以应对各种复杂的应用场景。 总结,Django作为...