就是因為沒有設定外來鍵,還想關聯查詢。怎麼搞嘞,下面就是解決方案哦。
我們先來準備下要用的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 ...