最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何在Flask中實(shí)現(xiàn)數(shù)據(jù)分組流程詳解

 更新時(shí)間:2023年05月19日 17:13:32   作者:圈圈圈小明  
在Flask中,數(shù)據(jù)分組是指將一組數(shù)據(jù)按照某種方式進(jìn)行分類,以便更好地對(duì)數(shù)據(jù)進(jìn)行處理和展示,可以使用Python內(nèi)置的itertools模塊中的groupby方法,或者使用SQL語(yǔ)句中的GROUP?BY子句來(lái)實(shí)現(xiàn)數(shù)據(jù)分組,這篇文章介紹了在Flask中實(shí)現(xiàn)數(shù)據(jù)分組,感興趣的同學(xué)可以參考下文

【數(shù)據(jù)庫(kù)模型類】

class ConColumn(db.Model):
    __tablename__='content_column'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    pid = db.Column(db.Integer)
    parent_name = db.Column(db.String(50), nullable=False)
    ......
    # 和文章的關(guān)系
    articles = db.relationship('Article', backref="content_article")
class Article(db.Model):
    __tablename__ = 'content_article'
    id = db.Column(db.Integer, primary_key=True)
    #columnId = db.Column(db.String(11), nullable=False)
    photoUrl = db.Column(db.String(300))
    fileUrl = db.Column(db.String(300))
    create_time = db.Column(db.DateTime, default=datetime.now)
    ...... 
    # 外鍵
    columnId = db.Column(db.Integer, db.ForeignKey("content_column.id"), nullable=False)

想要在flask實(shí)現(xiàn)兩個(gè)表聯(lián)合查詢,得到Article表的id,photoUrl,fileUrl,ConColumn表的name

按照Article的create_time倒排序,該如何寫(xiě)查詢?

【循環(huán)展示】

目標(biāo):同一ConColumn的表的相同的name放在一行顯示

2021(ConColumn表的name)

圖片1(地址是photoUrl) 圖片2(地址是photoUrl) 圖片3(地址是photoUrl)

2020(ConColumn表的name)

圖片1(地址是photoUrl) 圖片2(地址是photoUrl) 圖片3(地址是photoUrl)

2016(ConColumn表的name)

圖片1(地址是photoUrl) 圖片2(地址是photoUrl) 圖片3(地址是photoUrl)

【數(shù)據(jù)庫(kù)中的數(shù)據(jù):】

22 11 學(xué)而思 0 ... ...

23 15 TSM 0 ... ...

24 16 CATL 0 ... ...

25 16 錦浪 0 ... ...

字段的順序依次是id,columnId,title,detail,is_top,photoUrl,fileUrl

class Article(db.Model):
    __tablename__ = 'content_article'
    id = db.Column(db.Integer, primary_key=True)
    ... 
    columnId = db.Column(db.Integer, db.ForeignKey("content_column.id"), nullable=False)
  def findArticleGroup(self, column_id):
        children_ids = [11, 12, 13, 14, 15, 16, 17]
        articles = (
            Article.query.join(ConColumn, Article.columnId == ConColumn.id)
            .filter(Article.columnId.in_(children_ids), Article.is_top == 0)
            .with_entities(Article.id,Article.photoUrl, Article.fileUrl, ConColumn.name)
            #.group_by(ConColumn.name)
            .order_by(Article.create_time.desc())
            .all()
        )

對(duì)應(yīng)的sql

SELECT content_article.id AS content_article_id, content_article.`photoUrl` AS `content_article_photoUrl`, content_article.`fileUrl` AS `content_article_fileUrl`, content_column.name AS content_column_name 
FROM content_article INNER JOIN content_column ON content_article.`columnId` = content_column.id 
WHERE content_article.`columnId` IN (11,12,13,14,15,16,17) AND content_article.is_top = 0 
ORDER BY content_article.create_time DESC

logging.getLogger('sqlalchemy.engine').setLevel(logging.DEBUG) # 將日志級(jí)別設(shè)置為 debug

【問(wèn)題】

1.設(shè)置日志級(jí)別的語(yǔ)句是放在這里嗎?然后在哪里查看日志

2.這個(gè)分組查詢中,符合條件的數(shù)據(jù)應(yīng)該是4條,但是分組之后的數(shù)據(jù)把id=25的數(shù)據(jù)丟失了,不知什么原因。

【回答】

如果沒(méi)有在控制臺(tái)中看到 SQL 語(yǔ)句,那可能是你的日志級(jí)別設(shè)置過(guò)高了。這種情況下,重新設(shè)置日志級(jí)別即可,例如:

可以在控制臺(tái)中查看 SQL 語(yǔ)句。關(guān)于查詢中 id=25 的數(shù)據(jù)丟失的問(wèn)題,應(yīng)該是在分組查詢中出了問(wèn)題。請(qǐng)檢查一下在查詢的時(shí)候,是否漏選了某些條件,是否有其他查詢導(dǎo)致該數(shù)據(jù)被過(guò)濾了掉等等。可以將 group_by(ConColumn.name) 語(yǔ)句刪除掉試試看是否能查到 id=25 的數(shù)據(jù),或者將 group_by 語(yǔ)句修改為 group_by(Article.id),以便更好地定位問(wèn)題。

import logging
logging.basicConfig()
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO) # 重新設(shè)置為 INFO 級(jí)別

這樣就可以在控制臺(tái)輸出 SQL 語(yǔ)句了。如果仍然無(wú)法輸出 SQL 語(yǔ)句,可能是數(shù)據(jù)庫(kù)配置方面的問(wèn)題,你可以查看你使用的數(shù)據(jù)庫(kù)的文檔,了解更多日志輸出配置方面的信息。

【前端(vue)】

  <div v-for="(item, index) in tableData" :key="index">
      <div class="MasonryList-title">{{ item.parentName }}</div>
      <div class="wrapper">
        <div v-for="(file, index) in item.files" :key="index">
          <div class="child">
            <img
              class="imgStyle"
              :src="file.categorieIcon"
              @click="getNewsDetail(file.fileUrl)"
            />
          </div>
        </div>
      </div>

到此這篇關(guān)于如何在Flask中實(shí)現(xiàn)數(shù)據(jù)分組流程詳解的文章就介紹到這了,更多相關(guān)Flask實(shí)現(xiàn)數(shù)據(jù)分組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python數(shù)據(jù)處理和數(shù)據(jù)清洗的示例詳解

    python數(shù)據(jù)處理和數(shù)據(jù)清洗的示例詳解

    數(shù)據(jù)清洗是指發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識(shí)別的錯(cuò)誤的最后一道程序,包括檢查數(shù)據(jù)一致性,處理無(wú)效值和缺失值等,數(shù)據(jù)清洗與處理的目的是提高數(shù)據(jù)的質(zhì)量,提高實(shí)驗(yàn)結(jié)果的可靠度,本文給大家介紹了python數(shù)據(jù)處理和數(shù)據(jù)清洗的示例,需要的朋友可以參考下
    2024-08-08
  • Python?time模塊之時(shí)間戳與結(jié)構(gòu)化時(shí)間的使用

    Python?time模塊之時(shí)間戳與結(jié)構(gòu)化時(shí)間的使用

    這篇文章主要為大家詳細(xì)介紹了Python中的time模塊以及如何利用time模塊實(shí)現(xiàn)時(shí)間戳與結(jié)構(gòu)化時(shí)間,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-06-06
  • 用python做游戲的細(xì)節(jié)詳解

    用python做游戲的細(xì)節(jié)詳解

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python做游戲的細(xì)節(jié)相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。
    2019-06-06
  • pycharm2023.1配置python解釋器時(shí)找不到conda環(huán)境解決辦法

    pycharm2023.1配置python解釋器時(shí)找不到conda環(huán)境解決辦法

    如果你已經(jīng)安裝了Anaconda或Miniconda,但是在PyCharm中找不到conda解釋器,可以試試本文介紹的方法,這篇文章主要給大家介紹了關(guān)于pycharm2023.1配置python解釋器時(shí)找不到conda環(huán)境的解決辦法,需要的朋友可以參考下
    2023-12-12
  • pytest自動(dòng)化測(cè)試中的fixture的聲明和調(diào)用

    pytest自動(dòng)化測(cè)試中的fixture的聲明和調(diào)用

    這篇文章主要為大家介紹了pytest自動(dòng)化測(cè)試中的fixture的聲明和調(diào)用,文中含有詳細(xì)示例操作有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • Python 取numpy數(shù)組的某幾行某幾列方法

    Python 取numpy數(shù)組的某幾行某幾列方法

    這篇文章主要介紹了Python 取numpy數(shù)組的某幾行某幾列方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python流行ORM框架sqlalchemy的簡(jiǎn)單使用

    Python流行ORM框架sqlalchemy的簡(jiǎn)單使用

    這篇文章主要介紹了Python流行ORM框架sqlalchemy的簡(jiǎn)單使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • Python代碼模擬CPU工作原理

    Python代碼模擬CPU工作原理

    Python代碼來(lái)實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的CPU。用代碼模擬大的部件,使大家從原理上理解CPU工作。使它可編程,支持加減法運(yùn)算、讀寫(xiě)內(nèi)存、無(wú)條件跳轉(zhuǎn)、條件跳轉(zhuǎn)的功能。
    2023-01-01
  • Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解

    Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解

    這篇文章主要給大家介紹了關(guān)于Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • python實(shí)現(xiàn)字符串和日期相互轉(zhuǎn)換的方法

    python實(shí)現(xiàn)字符串和日期相互轉(zhuǎn)換的方法

    這篇文章主要介紹了python實(shí)現(xiàn)字符串和日期相互轉(zhuǎn)換的方法,涉及Python中time和datetime函數(shù)使用技巧,需要的朋友可以參考下
    2015-05-05

最新評(píng)論

萝北县| 新竹市| 汨罗市| 皮山县| 诸暨市| 宿州市| 常德市| 蛟河市| 长沙市| 广东省| 龙川县| 夏邑县| 化州市| 溧阳市| 泽州县| 青铜峡市| 晋中市| 延川县| 裕民县| 定日县| 延安市| 滕州市| 缙云县| 房产| 庆城县| 洛扎县| 金堂县| 青州市| 阿拉尔市| 湖州市| 科技| 仙游县| 长宁县| 泌阳县| 陇川县| 宝应县| 布尔津县| 铅山县| 宾川县| 蒙阴县| 江津市|