Конфигурация администратора для проблемы с несколькими базами данных - PullRequest
0 голосов
/ 06 мая 2019

Мое приложение в настоящее время работает с двумя разными базами данных: по умолчанию доступно только для чтения, а гисто - то, на котором я пишу.

Я изменил файл admin.py, чтобы изменить базу данных по умолчанию:

class MultiDBModelAdmin(admin.ModelAdmin):
    using='histo'

    def save_model(self, request, obj, form, change):
        # Tell Django to save objects to the 'histo' database.
        obj.save(using=self.using)

    def delete_model(self, request, obj):
        # Tell Django to delete objects from the 'histo' database
        obj.delete(using=self.using)

    def get_queryset(self, request):
        # Tell Django to look for objects on the 'histo' database.
        return super().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 'histo' database.
        return super().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 'histo' database.
        return super().formfield_for_manytomany(db_field, request, using=self.using, **kwargs)

Когда я запускаю manage.py createuperuser, я получаю сообщение об ошибке:

django.db.utils.ProgrammingError: relation "auth_user" does not exist

Я пробовал manage.py migrate --database = histo auth, но я все еще получаю эту ошибку. Я думаю, что это связано с тем, что база данных по умолчанию доступна только для чтения.

Можете ли вы помочь мне в этом? Спасибо

...