admin是django自带的一个app,那它涉及的是对Model的所有对象进行增删改查,如果model来自多个数据库如何处理呢?

重写admin.ModelAdmin的如下几个方法就好了:

class MultiDBModelAdmin(admin.ModelAdmin):
# A handy constant for the name of the alternate database.
using = 'other' def save_model(self, request, obj, form, change):
# Tell Django to save objects to the 'other' database.
obj.save(using=self.using) def delete_model(self, request, obj):
# Tell Django to delete objects from the 'other' database
obj.delete(using=self.using) def get_queryset(self, request):
# Tell Django to look for objects on the 'other' database.
return super(MultiDBModelAdmin, self).get_queryset(request).using(self.using) def formfield_for_foreignkey(self, db_field, request, **kwargs):
# Tell Django to populate ForeignKey widgets using a query
# on the 'other' database.
return super(MultiDBModelAdmin, self).formfield_for_foreignkey(db_field, request, using=self.using, **kwargs) def formfield_for_manytomany(self, db_field, request, **kwargs):
# Tell Django to populate ManyToMany widgets using a query
# on the 'other' database.
return super(MultiDBModelAdmin, self).formfield_for_manytomany(db_field, request, using=self.using, **kwargs)

  MultiDBModelAdmin类继承admin.ModelAdmin

然后需要使用这个数据库连接的model直接继承这个类就可以了。

class UserInfoAdmin(MultiDBModelAdmin):
list_display = ('user_name', 'user_email', 'user_mobile')

  

参考:https://docs.djangoproject.com/en/1.10/topics/db/multi-db/#topics-db-multi-db-routing

最新文章

  1. IOS彩票第一天基本框架搭建
  2. 利用mstsc远程桌面传送文件,记录一下
  3. recv和send函数
  4. 如何迁移测试的MAGENTO到正式运行的MAGENTO
  5. Android中 ListView 详解(二)
  6. snowflake算法(java版)
  7. adb出现adb server is out of date时的解决的方法
  8. -_-#【Canvas】圆弧运动
  9. 线段树hdu1754
  10. Definition of:payload
  11. Oracle误删恢复
  12. 小白的python之路11/15 awk 77-78
  13. 在Java的Condition接口【唤醒全部线程】
  14. JavaScript基础视频教程总结(111-120章)
  15. Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库
  16. @RequestMapping 详解
  17. kdump简单的介绍
  18. 流畅的python笔记
  19. c#数据库设计--1、概述
  20. AssetBundle加载API

热门文章

  1. sublime忽略打开工程中某些文件夹,不在搜索之列
  2. HDU2473 Junk-Mail Filter 【可删除的并查集】
  3. BZOJ3730 震波 【动态点分治】*
  4. Lua table
  5. 给select增加placeholder技巧
  6. Python学习系列(九)(IO与异常处理)
  7. AbstractQueuedSynchronizer原理分析
  8. 第十一章 Helm-kubernetes的包管理器(中)
  9. node的socket.io的之事件篇
  10. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa