Django Extra 關聯查詢

2021-10-20 08:27:24 字數 1297 閱讀 1078

就是因為沒有設定外來鍵,還想關聯查詢。怎麼搞嘞,下面就是解決方案哦。

我們先來準備下要用的model:

class

author

(models.model)

: name = models.char(max_length=

16, null=

false

, help_text=

'作者姓名'

) work_age = models.integer(null=

false

, help_text=

'作者工齡'

)class

meta

: db_table =

'author'

# 這裡為了防止,author_id 和外來鍵使用混淆,這裡沒有設計author_id欄位,而是使用 author_name

class

books

(models.model)

: name = models.char(max_length=

256, null=

false

, help_text=

'書名'

) author_name = models.char(max_length=

16, null=

false

, help_text=

'作者姓名'

)class

meta

: db_table =

'books'

# 現在就是見證奇蹟的時刻

# 我現在要聯查,書名和作者工齡。。。奇怪的查詢

result_qs = books.objects.extra(

tables=

['author'],

where=

['author.name=books.author_name'],

select=

# 如果要獲取關聯表的字段,要在這裡處理一下,不然獲取不到的。

).values(

'name'

,'author_name'

,'author_w_age'

)# 上述相當於

"""select books.name, books.author_name, author.work_age author_w_age

from books, author

where books.author_name = author.name

"""

mysql關聯查詢去重 MySQL 關聯查詢

mysql 關聯查詢 sql資料分析 1週前 mysql 關聯查詢 前面,我們介紹的都是單錶查詢 就是只從一張表中獲取資料 而實際應用的時候,我們都會同時查詢多張表,這裡,我們就介紹下,多表關聯查詢的使用。sql join 用於根據兩個或多個表中的列之間的關係,從這些表中查詢資料 前置知識 主鍵 p...

表關聯查詢

一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 oracle 1.select table1.column,table2.column from table1 inner left right...

表關聯查詢

一 表關聯查詢 1.表的關聯分兩類 有關係的關聯 無關係的關聯 2.表的有關係的關聯 內關聯 where 指定關聯關係 表1.欄位 表2.欄位 and 表2.欄位 表3.欄位 有關係關聯 通過字段關係,把多張表合併在一起.select s emp.id,first name,name from s ...