Я создал приложение, в котором перечислены книги и писатели. Я установил отношения между классами следующим образом:
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) отображается имя книги, но отображается имя автора, а не связанный с ним внешний ключ.
что мне делать, чтобы исправить ошибку?
С уважением,