Как получить данные идентификатора из другой таблицы в Flask с помощью Mysql - PullRequest
0 голосов
/ 03 октября 2019

Я хочу спросить, как мне получить данные из другой таблицы во Flask. например, я хочу взять данные автора в таблице автора для добавления в таблицу книги со списком, поэтому мы выбираем только идентификатор автора, и имя автора автоматически появляется в форме для добавления данных книги.

я стараюсь, как это

<div class="form-group">
  <label>Author :</label>
     <select name="" id="">
       {% for row in tb_author %}
       <option value="{{row.0}}"></option>
       {% endfor %}
     </select>
</div>

в моей базе данных

author_table
field : id (pk)------------ i want to get data from this table
        author name       |
                          | (connected)
book_table                |  
field : book_id (pk)      |
        author_id (fk)----- to this table
        book_title
        price

1 Ответ

0 голосов
/ 03 октября 2019

Flask не управляет базой данных, но позволяет подключать базу данных к базе данных. Вы можете присоединить эту базу данных к постоянному объекту g. Пожалуйста, ознакомьтесь с руководством здесь: https://flask.palletsprojects.com/en/1.0.x/tutorial/database/?highlight=database

Вы можете запросить базу данных, используя из этого постоянного

g.db.execute('SELECT id FROM author_table').fetchall()

или

g.db.execute(
    'SELECT name, author.name FROM book_table 
    inner join (select id, name from author_table where name = "JK Rowling") author
    on author.id=book_table.author_id'
).fetchall()

(код не запускается синтаксис / логикаможет быть отключен)

Если вы хотите добавить данные такого типа в один из ваших шаблонов / веб-страниц, вы можете указать данные, которые вы хотите предоставить в таблицу html, передав их через функцию render_templateпредоставляется Flask, а затем в шаблоне, оперируя данными через синтаксис обработки смарт-шаблонов колбы. Например: render_template('authors_and_books.html', author_books=[['author1','book1'],['author1','book2'],['author2','book3']...]) и

<table>
    <thead>
    <tr>
        <th>Author</th>
        <th>Book</th>
    </tr>
    </thead>
    {% for author,book in authors_books %}
    <tr>
        <td>
            {{ author }}
        </td>
        <td>
            {{ book }}
        </td>
    </tr>
    {% endfor %}
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...