-1

有一张桌子,我想显示每个 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
4

1 回答 1

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
于 2013-07-16T10:11:14.170 回答