Flask - SQL -Alchemy ForeignKey не обновляется в базе данных - PullRequest
0 голосов
/ 27 мая 2020

Я создал приложение, в котором перечислены книги и писатели. Я установил отношения между классами следующим образом:

class Title(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title_name = db.Column(db.String(100), nullable=False)
    writer_id = db.Column(db.Integer, db.ForeignKey('author.id'))

    def __repr__(self):
        return 'Title ' + str(self.id)

class Author(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    author_name = db.Column(db.String(100), nullable=False, default = "NA")
    writings = db.relationship('Title', backref='writer', lazy='dynamic')

    def __repr__(self):
        return 'Author ' + str(self.id)

Я также разработал страницу html следующим образом, чтобы добавить:

{% extends 'base.html' %}

{% block head %}
<title>New book</title> 
{% endblock %}

{% block body %}
<h1> Add a new book</h1>

    <hr>
    <h2>إAdd a new book</h2>
    <form action='/books/new' method='POST'>
        <label for="title_name">Title:</label>
        <input class="form-control" type="text" name='title_name' id='title_name' placeholder="Enter Title" aria-label="Enter Title">
        <br>
        <label for="author_name">Author:</label>
        <input class="form-control" type="text" name='writer_id' id='writer_id' placeholder="Enter Author" aria-label="Enter Author">
        <br>
        <input type='submit' value='Add'>
    </form>
    <hr>
{% endblock %}

Теперь, после запуска приложения, я добавили новую книгу и писателя. В базе данных (таблица Writer) отображается имя книги, но отображается имя автора, а не связанный с ним внешний ключ.

что мне делать, чтобы исправить ошибку?

С уважением,

...