Lorsque nous étudions le flacon, nous rencontrerons inévitablement une requête de table plusieurs-à-plusieurs. J'ai également rencontré ce problème aujourd'hui. Permettez-moi de partager mes idées sur la plateforme Script Home pour votre référence
Au cours de notre étude de flask, nous rencontrerons inévitablement des requêtes de table plusieurs-à-plusieurs. J'ai également rencontré ce problème aujourd'hui. Puis j'y ai réfléchi longtemps. Je n'ai pas trouvé de solution. J'ai essayé plusieurs méthodes, mais j'ai peut-être abandonné en raison des limites de ma réflexion. Plus tard, je suis allé sur Baidu en ligne, mais j'ai constaté qu'il y avait encore un certain écart entre les résultats de Baidu et quoi. Je voulais. Alors, sur la base des idées que j'ai reçues de Baidu, j'ai également exploré ma structure de données. Voyons comment je l'interroge ici. Tout d'abord, je vais vous montrer un fragment du code de la base de données que j'ai écrit, afin de le faire. approfondissez votre compréhension.
post_class=db.Table('post_class', db.Column('post_id',db.Integer(),db.ForeignKey('posts.id')), db.Column('classifa_id',db.Integer(),db.ForeignKey('fenlei.id'))) class Post(db.Model):#文章表 tablename='posts' id=db.Column(db.Integer,primary_key=True,autoincrement=True) title=db.Column(db.String(255),unique=True) text=db.Column(db.Text()) publish_date=db.Column(db.DateTime,default=datetime.datetime.now()) user_id=db.Column(db.Integer,db.ForeignKey('users.id')) is_recomment=db.Column(db.Boolean,default=False) comments = db.relationship( 'Comment', backref='posts', lazy='dynamic') tag = db.relationship( 'Tag', secondary=posts_tags, backref=db.backref('posts', lazy='dynamic') ) classname=db.relationship('Classifa', secondary=post_class, backref=db.backref('posts')) def repr(self): return "<Model Post `{}`>".format(self.title) class Classifa(db.Model):#分类 tablename='fenlei' id=db.Column(db.Integer(),primary_key=True) name=db.Column(db.String(64)) def repr(self): return self.name
Il y a trois tableaux ici. L'un est une liste d'articles, et l'autre est un tableau de classification. Pensons-y. plusieurs catégories, alors une catégorie peut également appartenir à plusieurs articles. De cette façon, nous devons tous comprendre cette logique. Ainsi, mon troisième tableau montre la relation plusieurs-à-plusieurs, alors comment l'interroger ensuite, en fait ? ce dont j'ai besoin maintenant c'est de retrouver tous les articles d'une catégorie,
Jetons un œil à mon code
data=Classifa.query.filter_by(name='数据库').first() data_post=data.posts
Ici, je trouve directement cette catégorie de la catégorie, puis interrogez les articles appartenant à cette catégorie via le troisième tableau. En fait, c'est très simple ici. Peut-être que mon propre cerveau a été court-circuité à ce moment-là. c'est vrai. En y regardant maintenant, c'est en fait si simple, mais j'ai oublié quelque chose à l'époque. Allez, apprenez sur la voie à suivre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!