/ / Искате да използвате съществуващата ми база данни MySQL с django - django, django - модели

Искате да използвате съществуващата ми база данни MySQL с django - django, django - модели

Създадох проект django и сега шаблони за рендиране. Имам MySQL база данни вече с много таблици и данни.

От това, което видях в уроците, моделаконцепцията за python е интересна и лесна обаче не мога да я използвам тук, тъй като не разполагам с модели, които да предполагам. Предполагаше, че django ще създаде магически модели, базирани на моята db.

Напълних settings.py с двигател, db, потребителско име, хост, порт и т.н., Трябва ли да създавам модели на базата на моите таблици?

Това ти работи:

db = MySQLdb.connect(user="root", db="dbBooks", passwd="1234", host="localhost")
cursor = db.cursor()
cursor.execute("SELECT bookname FROM books")
names = [row[0] for row in cursor.fetchall()]
db.close()
return render(request, "index.html", {"bookNames": names})

Отговори:

15 за отговор № 1

inspectdb работи добре сега. (Django 1.7.1) Просто работи с manage.py inspectdb ще създаде класове за всички таблици в базата данни и ще се покаже на конзолата.

 $ python manage.py inspectdb

Запишете като файл, като използвате стандартно пренасочване на изход от Unix:

 $ python manage.py inspectdb > models.py

препратка


4 за отговор № 2

Има начин, по който Джанго автоматично да създава модели, базирани на таблици, използващи inspectdb вариант на manage.py, В документацията на Django е осигурен кратък наръчник Интегриране на Django с базова база данни