테이블에서 데이터를 사용하거나 사용하지 않을 수도있는 동적으로 작성된 필터를 사용하여 여러 테이블에서 데이터를 검색해야합니다.여러 테이블에서 데이터를 검색하는 방법
def get_data(user_provided_criteria):
etr = ExportTrackingRecord.objects.filter(make_Q_object(user_provided_criteria)).select_related()
for data in etr:
s = data.solution
# do things with data from both tables
지금까지 내가 솔루션에 필드에 필터링 할 일이면 내가 말할 수있는, 장고 : 내가해야 할 다른 곳에서 그런
class Solution(models.Model):
name = models.CharField(max_length=MAX, unique=True)
# Other data
class ExportTrackingRecord(models.Model):
tracked_id = models.IntegerField()
solution = models.ForeignKey(Solution)
# Other data
:
그래서 나는이 있다고 가정 해 조인을하고 select_related
두 개체를 모두 가져옵니다. 만약 내가 오직 ExportTrackingRecord
의 필드를 필터하면 조인은 없을 것이고 django는 QuerySet에있는 각 ExportTrackingRecord
에 대한 새로운 쿼리를 생성 할 것입니다. (수천 일 수 있습니다 ...)
저는 꽤 장고를 처음 접했지만 거기에 합리적인 방법으로 조인을 강제로?