第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django查詢從表中選擇X,其中Y = Z

Django查詢從表中選擇X,其中Y = Z

瀟湘沐 2021-10-26 18:49:21
我還很難清楚地理解 Django 進(jìn)行查詢的方式。我有兩個表:表一:+----+-----+----+| id |code |name|+----+-----+----+表 B:+----+----+| id |name|+----+----+的值name這兩個表的可以等于(或不)。我需要做的是code通過比較兩個表的值來獲取表 A 列的值,name如果表 B 與任何行中的表 A 匹配。例子:表一:+----+----+----+| id |code|name|+----+----+----+| 4  | A1 |John|+----+----+----+表 B:+----+----+| id |name|+----+----+| 96 |John|+----+----+因此,通過比較John(B) 和John(A),我需要A1返回,因為它code是與表 A 匹配的同一行中的結(jié)果??傊?,我需要一個 Django 代碼來執(zhí)行查詢:a_name = 'John'SELECT code FROM Table_A WHERE name = a_name考慮到我只知道表 B 的值,因此我無法code通過表 A獲得的值name。
查看完整描述

3 回答

?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗 獲得超5個贊

你的表是假設(shè)名稱A和B分別則:


try:

    obj = A.objects.get(name='John')

    if B.objects.filter(name='John').exists():

        print obj.code # found a match and now print code.      

except:

    pass 


查看完整回答
反對 回復(fù) 2021-10-26
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊

讓我們假設(shè)TableA和TableB是 Django 模型。然后,您的查詢可能如下所示:


a_name = 'John'


it_matches_on_b = ( Table_B

                   .objects

                   .filter(  name = a_name )

                   .exists()

                  )


fist_a = ( Table_A

            .objects

            .filter(  name = a_name )

            .first()

          )


your_code = fist_a.code if it_matches_on_b and fist_a != None else None

我不注釋代碼,因為它是不言自明的。但是,如果您有評論,請在評論中寫下問題。


查看完整回答
反對 回復(fù) 2021-10-26
  • 3 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號