flask-sqlalchemy one to many relationship

models


class Taxon(BaseModel, db.Model):
  __tablename__ = 'taxons'
  name = db.Column(db.String(255), nullable = False)
  sort = db.Column(db.Integer, default = 0)
  navigations = db.relationship('Navigation', backref='taxons', lazy = True)

  def __init__(self, name, sort):
    self.name = name
    self.sort = sort


class Navigation(BaseModel, db.Model):
  __tablename__ = 'navigations'
  title = db.Column(db.String(255), nullable = False)
  taxon_id = db.Column(db.Integer, db.ForeignKey('taxons.id'), nullable = False)
  url = db.Column(db.String(255), nullable = False)
  sort = db.Column(db.Integer, default = 0)
  click_count = db.Column(db.Integer, default = 0)

  taxon = db.relationship('Taxon', backref=db.backref('navigation', lazy=True))
 
  def __init__(self, title, taxon_id, url, sort):
    self.title = title
    self.taxon_id = taxon_id
    self.url = url
    self.sort = sort

在列表显示

{% for data in list %}
        <tr>
          <td>{{ data['id'] }}</td>
          <td>{{ data['title'] }}</td>
          <td>{{ data.taxon.name }}</td>
          <td>{{ data['url'] }}</td>
          <td>{{ data['sort'] }}</td>
          <td>{{ data['click_count'] }}</td>
          <td>
            <a href="{{ url_for('navigation.update', id = data['id']) }}">修改</a>
            <a href="">删除</a>
          </td>
        </tr>
        {% endfor %}

猜你喜欢

转载自blog.csdn.net/tang05709/article/details/87157973