Skip to content

Instantly share code, notes, and snippets.

@renyi
Created February 16, 2011 08:44
Show Gist options
  • Save renyi/829049 to your computer and use it in GitHub Desktop.
Save renyi/829049 to your computer and use it in GitHub Desktop.
django - Multi DB admin
from django.contrib import admin
from myapp.models import *
class MultiDBModelAdmin(admin.ModelAdmin):
using = 'mydb'
def save_model(self, request, obj, form, change):
obj.save(using=self.using)
def queryset(self, request):
return super(MultiDBModelAdmin, self).queryset(request).using(self.using)
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
return super(MultiDBModelAdmin, self).formfield_for_foreignkey(db_field, request=request, using=self.using, **kwargs)
def formfield_for_manytomany(self, db_field, request=None, **kwargs):
return super(MultiDBModelAdmin, self).formfield_for_manytomany(db_field, request=request, using=self.using, **kwargs)
class MultiDBTabularInline(admin.TabularInline):
using = 'mydb'
def queryset(self, request):
return super(MultiDBTabularInline, self).queryset(request).using(self.using)
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
return super(MultiDBTabularInline, self).formfield_for_foreignkey(db_field, request=request, using=self.using, **kwargs)
def formfield_for_manytomany(self, db_field, request=None, **kwargs):
return super(MultiDBTabularInline, self).formfield_for_manytomany(db_field, request=request, using=self.using, **kwargs)
class my_modelAdmin(MultiDBModelAdmin):
list_display = ('field1', 'field2','field3',)
admin.site.register(my_model, my_modelAdmin)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment