Böyle bir Django veri modelini (veri alanları atlanmıştır) vardır: o Transition.objects.filter(...)
sorgulamak için en kolay bu yüzden, ben sorgulandığındaDjango iç içe Sorgu kümelerini
class Atom(Model):
pass
class State(Model):
atom = ForeignKey(Atom)
class Transition(Model):
atom = ForeignKey(Atom)
upstate = ForeignKey(State,related_name='uptrans')
lostate = ForeignKey(State,related_name='lotrans')
, alanlar ya modelde olabilir kısıtlanmaya Diğer modellerde tüm alanlara yabancı anahtarlar aracılığıyla ulaşılabilir. Sonuç olarak ortaya çıkan QuerySet t
'u arayın.
Şimdi ne ek olarak ilgilerini a = t.values('atom').distinct()
gibi yapılabilir t
tekabül Atom modeli, bir QuerySet a
olduğunu. Çok uzak çok iyi.
Ancak, ben de upstate
birini birinden bu Atom, hala orijinal seçimi t
kriterler yansıtan devletler için Sorgu Kümesi tutan tek nitelik/alanını olması a
girişlerin her istiyoruz veya lostate
ForeignKeys.
Ben t
üzerinde döngü çiftleri dışarı atma ve sonra bu liste ile Devletlere sorgulamak için bir Python set()
için values('upstate_id')
ve values('lostate_id')
ekleyerek şu ana kadar Devletlerin benim Sorgu Kümesi oluşturduk. Ama sonra Atomlar içindeki devletlerin iç içe geçmiş yapısını elde edemiyorum.
Bunu yapma hakkında herhangi bir öneri, eğer bir şablona değil, bir çok üreticiye (yield
deyim) geçiş yapmadığım için, büyük olasılıkla çok miktarda veriyi yayınlamanın güzel bir yolu olan, derecelendirilmemiş QuerySet
s ile mümkündür.