Как отобразить таблицу mysql в админке django
При работе с django 3 я использую mysql.
У меня есть таблица mysql, данные в ней должны добавляться в админке. Но мне не удается подключить таблицу в админку.
Насколько я понял, нужно обявить базу в моделях а потом зарегистрировать в файле admin. Но я не смог найти ни одного примера как это делают именно с MYSQL.
Подскажите как правильно связать таблицу Mysql с админкой, и можно ли вообще.
Ответы (1 шт):
Спасибо за подсказку. Я создал в модели класс с именем нужной таблицы. В классе прописал все нужные поля в соответствии с типом полей в 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)