ORM查詢多對多對一,Flasksql煉金術

我有三個flask-sqlalchemy-models。Books-管理員的唯一條目:

class Book(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    book_name = db.Column(db.String(20), unique=True, nullable=False)
    def __repr__(self):
        return self.book_name

Bookscomp-用戶條目,與以上相關:

class Bookscomp(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    book = db.Column(db.Integer, db.ForeignKey('book.id'))

Company-用戶,與以上相關:

class Company(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    books = db.relationship('Bookscomp', secondary=companybook, lazy='dynamic',
        backref=db.backref('company'))

companybook = db.Table('companybook',
    db.Column('companyid', db.Integer, db.ForeignKey('company.id'), primary_key=True),
    db.Column('bookid', db.Integer, db.ForeignKey('bookscomp.id'), primary_key=True),
                                )

問題:我試圖通過Company+BookscompBook模型中獲取book_name。所以一個公司有很多書,每本書都參考了一般的圖書信息。像這樣嘗試:

company = OrganizatCompanyion.query.filter_by(id=comp.id).first()
    books = company.books.all()
for item in books:
        print(item.book.book_name)
        #AttributeError: 'int' object has no attribute 
        print(item.book)
        #Gives book id from book model, but I need name

為什么我不能直接在上面的代碼片段中獲得book_name?如何才能做到這一點呢?

? 最佳回答:

您還沒有定義BookBookcomp之間的關系,所以當您請求item.book時,它會得到book = db.Column(db.Integer...值。也許可以調整你的Bookscomp模型如下:

class Bookscomp(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    book_id = db.Column(db.Integer, db.ForeignKey('book.id'))
    book = db.relationship('Book')
主站蜘蛛池模板: 日韩精品一区二区三区在线观看| 色精品一区二区三区| 狠狠做深爱婷婷综合一区| 中文字幕在线无码一区二区三区| 久久人妻内射无码一区三区| 国产成人高清亚洲一区91| 乱色精品无码一区二区国产盗| 中文字幕一区在线观看| 国产婷婷色一区二区三区深爱网| 麻豆天美国产一区在线播放 | 久久综合亚洲色一区二区三区| 无码毛片一区二区三区视频免费播放 | 2018高清国产一区二区三区 | 日韩一区二区精品观看| 中文字幕AV一区二区三区人妻少妇| 国产一区视频在线| 国产91一区二区在线播放不卡| 国产亚洲综合精品一区二区三区| 亚洲高清一区二区三区电影| 亚洲综合一区二区| 午夜影院一区二区| 91精品国产一区| 亚洲无圣光一区二区| 日韩中文字幕精品免费一区| 无码福利一区二区三区| 亚洲性无码一区二区三区| 亚洲AV无码片一区二区三区| 亚洲av永久无码一区二区三区| 国产精品久久久久一区二区三区| 蜜桃传媒一区二区亚洲AV| 亚洲高清毛片一区二区| 国产精品一区二区三区久久| 内射白浆一区二区在线观看| 日本强伦姧人妻一区二区 | 麻豆精品人妻一区二区三区蜜桃 | 在线视频亚洲一区| 视频一区在线播放| 中文字幕在线无码一区二区三区 | 一区 二区 三区 中文字幕| 亚洲一区二区精品视频| 日本一区二区三区在线观看 |