2013-07-16 3 views
-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 
+0

Это просто абстрактные – djinn

ответ

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 
+0

Спасибо за помощь и время вы PUY в это. Решил, но у меня нет времени объяснять. – kingRauk

Смежные вопросы