有桌子,我想要显示每个B和C有相同的A.
如果C有一个B,它应该在一行上显示它
如果C没有B,只显示C.
如果B没有C,只需显示B.
加入B和C有什么好办法让我得到那个结果吗? 可以加入它们,但仅限于连接C和B.
class A
Id
class B
id
Name
A.id
class C
id
Name
class E
Id
B.id
C.id
答案 0 :(得分:1)
尝试这样
es = E.objects.all()
b_list = []
c_list = []
for each in es:
print each.b.name, each.c.name
b_list.append(each.b)
c_list.append(each.c)
bs = B.objects.all()
cs = C.objects.all()
for each in bs:
if each in b_list:
continue
print each.name
for each in cs:
if each in c_list:
continue
print each.name