Tôi đang làm việc với Django và tôi cần thực hiện truy vấn bằng cách sử dụng hai kết nối bên trong.Django Inner Join Queryset
Tôi có ba mô hình A, B, và C và tôi muốn làm một truy vấn như sau trong psql:
select DISTINCT a from A inner join B on B.a_id = A.id inner join C on C.b_id = B.id;
Models: (chỉ bao gồm các lĩnh vực có liên quan)
class A(models.Model):
id = models.IntegerField(primary_key=True)
class B(models.Model):
id = models.IntegerField(primary_key=True)
a = models.ForeignKey(A, null=True, blank=True,on_delete=models.SET_NULL)
class C(models.Model):
b = models.ForeignKey(B, null=True, on_delete=models.SET_NULL)
Vì vậy, mọi thứ trong C liên kết ngược với một thứ trong B và mọi thứ trong B liên kết ngược lại một điều trong A. Tôi muốn thử và nhận tất cả các phần tử riêng biệt trong A có thứ gì đó trong C.
Làm cách nào để thực hiện việc này bằng truy vấn django? Cảm ơn.
Sẽ thật tuyệt nếu bạn thể hiện mô hình của mình và cho biết những gì bạn đang cố gắng hoàn thành – karthikr
@karthikr đã thêm các mô hình và những gì tôi đang cố gắng làm – user1998511