@keyon.brown
В Django есть несколько способов соединить две таблицы через ключ в queryset, в зависимости от типа связи между таблицами.
1 2 3 4 5 6 7 |
from myapp.models import Table1 result = Table1.objects.select_related('table2').filter(...) # Можно получить доступ к полям связанной таблицы, используя точечную нотацию for obj in result: print(obj.table2.field_name) |
1 2 3 4 5 6 7 8 |
from myapp.models import Table1 result = Table1.objects.prefetch_related('table2').filter(...) # Можно получить доступ к связанной таблице как к QuerySet через обратное имя связи for obj in result: for related_obj in obj.table2.all(): print(related_obj.field_name) |
1 2 3 4 5 6 7 8 |
from myapp.models import Table2 result = Table2.objects.prefetch_related('table1_set').filter(...) # Можно получить доступ к связанной таблице как к QuerySet через обратное имя связи for obj in result: for related_obj in obj.table1_set.all(): print(related_obj.field_name) |
В каждом примере вы можете найти нужные вам объекты, используя метод filter()
, и получить доступ к связанным объектам через связи ключевого поля.