Мне нужно настроить несколько баз данных в Wagtail, но у меня возникают трудности с отображением таблицы в моей вторичной базе данных.
Я сделал следующие шаги (код ниже): 1. Создал файл models.py 2. Создал wagtail_hooks.py 3. Создал дополнительную ссылку на базу данных в base.py
Я ожидаю, что моя таблица mysql (бренды) будет отображаться в Wagtail CMS, но использует базу данных по умолчанию ( sqllite). (Сообщения об ошибках не возвращаются)
Код ссылки:
models.py
from django.db import models
from wagtail.core.models import Page
from wagtail.core.fields import RichTextField
from wagtail.admin.edit_handlers import FieldPanel
class Brand(models.Model):
brandsid = models.AutoField(primary_key=True)
brand = models.CharField(max_length=50, blank=False, null=False)
class Meta:
managed = True
db_table = 'brands'
panels = [
FieldPanel('brand'),
]
wagtail_hooks.py
from wagtail.contrib.modeladmin.options import (
ModelAdmin, modeladmin_register)
from .models import Brand
class BrandAdmin(ModelAdmin):
model = Brand
menu_label = 'Brands' # ditch this to use verbose_name_plural from model
menu_icon = 'pilcrow' # change as required
menu_order = 200 # will put in 3rd place (000 being 1st, 100 2nd)
add_to_settings_menu = False # or True to add your model to the Settings sub-menu
exclude_from_explorer = False # or True to exclude pages of this type from Wagtail's explorer view
list_display = ('brand', 'brandurl',)
list_filter = ('brand',)
search_fields = ('brand', 'brandurl',)
# Now you just need to register your customised ModelAdmin class with Wagtail
modeladmin_register(BrandAdmin)
base.py (отрывок)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'mysql': {
'NAME': 'mysql',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysqlusername',
'PASSWORD': 'mysqlpassword'
}
}