簡體   English   中英

SQLite 到 Django - 連接具有相同字段名稱的表

[英]SQLite to Django - join tables with same field names

我正在嘗試將這個非常簡單的查詢轉移到 Django 模型中:

select B.value from A join B on A.id = B.id where B.param = "foo" group by B.value;

基本上給了我唯一的B.value具有公共id的行

我在 Django 中的模型是:

#A
id = CharField()
...

#B
id = CharField()
param = CharField()
value = CharField()
...

據我所知,人們反對在 Django 中加入表格。 我的查詢如何以最簡單的形式轉換為 Django?

我幾乎願意只使用django.db.connection執行這個查詢,但我寧願不

看起來您正在嘗試檢索與特定param值匹配並在A具有相應idB所有值。對嗎?

嘗試這個:

a_ids = A.objects.values_list('id', flat=True)
b_values = B.objects.filter(param='foo', id__in=a_ids).values_list('value', flat=True).distinct()

我鼓勵您根據用例查看查詢,而不是將查詢轉換為 ORM 等效項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM