在将我的值附加到关联表时遇到麻烦。从那以后我再也没有解决这个问题。我不知道这是关系或其他问题的问题。
这是我的association table
item_tags_association_table = db.Table('item_tags_associations', db.Model.metadata,
db.Column('item_id', db.Integer, db.ForeignKey('items.id')),
db.Column('tag_id', db.Integer, db.ForeignKey('tags.id')))
这是我的Item
模型
class Item(db.Model):
# 1. Set the table name in plural form
__tablename__ = 'items'
# 2. Implemantation Attributes()
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80),nullable=False)
description = db.Column(db.Text,nullable=False)
quantity = db.Column(db.Integer,nullable=False)
price = db.Column(db.Integer,nullable=False)
avatar_url = db.Column(db.String(500))
bio = db.Column(db.String(240))
#2019/07/23
category_id = db.Column(db.Integer, db.ForeignKey('categories.id'))
category = db.relationship("Category", back_populates="items")
tags = db.relationship("Tag", secondary=item_tags_association_table,
back_populates="items")
这是我的功能,也可以处理实际上在Item类内部的追加。
def insert_tags(self, tag_list):
for tag in tag_list:
self.tags.append(tag)
这是Tag
模型
class Tag(db.Model):
__tablename__='tags'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80),nullable=False)
items = db.relationship("Item",
secondary=item_tags_association_table,
back_populates="tags")
答案 0 :(得分:0)
更新:我自己回答了这个问题,所以问题是我试图附加主键而不是附加对象本身。因此,在我的views.py中,我创建了一个对象,该对象使用输入传递的主键来获取数据。