python - Bagaimana untuk menomborkan hasil carian flask sqlalchemy many-to-many?
三叔
三叔 2017-06-12 09:22:47
0
1
1327

Saya menggunakan kelalang untuk membuat blog sambil mempelajari kelalang (Artikel boleh mempunyai berbilang tag, dan satu teg boleh sepadan dengan berbilang artikel, jadi saya mengikuti hubungan banyak ke banyak di sini), yang disertakan dengan kaedah penomboran. hanya boleh menyokong objek flask_sqlalchemy.BaseQuery untuk penomboran Walau bagaimanapun, saya menggunakan teg dalam hubungan berbilang pasangan untuk mencari semua objek artikel yang dikaitkan dengan teg, jadi paging tidak boleh dilakukan. . . Apakah yang perlu saya lakukan jika saya ingin membuat penomboran sekarang?

Perlukah saya menulis penomboran sendiri sekarang? Saya harap beberapa pakar yang bermaksud baik boleh memberi saya nasihat tentang idea umum itu.
Contoh:

#多对多关系中的两个表之间的一个关联表
tags = db.Table('post_tags',
    db.Column('post_id',db.Integer,db.ForeignKey('posts.id')),
    db.Column('tag_id',db.Integer,db.ForeignKey('tag.id'))
)

# 发表文章模型
class Post(db.Model):
    __tablename__ = 'posts'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(255))
    body = db.Column(db.Text())
    body_html = db.Column(db.Text())
    created = db.Column(db.DateTime)

    author_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    comments = db.relationship('Comment', backref='post',lazy='dynamic')  # 关联评论
    tags = db.relationship('Tag',secondary=tags,backref=db.backref('posts',lazy='dynamic'))#多对多关联

    def __repr__(self):
        return "<post_id={0}>".format(self.id)
        
#标签
class Tag(db.Model):
    __tablename__ = 'tag'
    id = db.Column(db.Integer,primary_key=True)
    title = db.Column(db.String(255))\


    def __repr__(self):
        return "{0}".format(self.title)

三叔
三叔

membalas semua(1)
伊谢尔伦

Saya kata penomboran bebas tekanan Anda pasti boleh menggunakan penomboran

>>> r=Role.query.get(1)
>>> r
manager
>>> r.users
<sqlalchemy.orm.dynamic.AppenderBaseQuery object at 0x7f5ae257a510>
>>> r.users.paginate(1, 20, None)                
<flask_sqlalchemy.Pagination object at 0x7f5ae1829150>

Pengguna dan Peranan adalah banyak kepada ramai, dan saya tidak menemui masalah yang disebut oleh poster asal.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!