Как отобразить таблицу mysql в админке django

При работе с django 3 я использую mysql.

У меня есть таблица mysql, данные в ней должны добавляться в админке. Но мне не удается подключить таблицу в админку.

Насколько я понял, нужно обявить базу в моделях а потом зарегистрировать в файле admin. Но я не смог найти ни одного примера как это делают именно с MYSQL.

Подскажите как правильно связать таблицу Mysql с админкой, и можно ли вообще.


Ответы (1 шт):

Автор решения: Yaroslav

Спасибо за подсказку. Я создал в модели класс с именем нужной таблицы. В классе прописал все нужные поля в соответствии с типом полей в mysql.

Далее в базе данных, к текущей таблице дописал в название префикс с именем приложения в django. Имя таблицы выглядело следующим образом: nameApp_nameClass. Где nameApp - имя приложения в джанго. nameClass - имя класса в модели в котором объявили все поля.

И это действительно сработало

Для примера скидываю свой класс и имя таблицы.

Имя таблицы - training_item. Имя Django приложения - training.

Класс в model.py:

class Item(models.Model):
description = models.CharField(max_length=500, null=True)
reps = models.CharField(max_length=50, null=True)
sets = models.CharField(max_length=50, null=True)
weight = models.CharField(max_length=45, null=True)
rest_time = models.CharField(max_length=45, null=True)
training = models.ForeignKey(List, on_delete=models.PROTECT)
exercise = models.ForeignKey(Exercise, on_delete=models.PROTECT)

def __str__(self):
    return self.training, '>>', self.exercise

Регистрация в admin.py

admin.site.register(List)
→ Ссылка