Създадох проект 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 за отговор № 1inspectdb
работи добре сега. (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 с базова база данни