SORU
10 ŞUBAT 2010, ÇARŞAMBA


Django model nesneleri ilgili tüm

Nasıl bir ForeignKey bir nesneyi işaret eden tüm model nesnelerin listesini alabilir miyim? (CASCADE DELETE) önce Django admin sil onay sayfası gibi bir şey.

Veritabanındaki nesnelerin yinelenen birleştirme genel bir yol ile gelip çalışıyorum. ForeignKeys olan nesnelerin istiyorum temelde "B" noktasına güncelleştirilmesi "ben" sonra "B" önemli bir şey. kaybetmeden Silme Bir nesneyi işaret eder

Yardımlarınız için teşekkürler!

CEVAP
22 ŞUBAT 2010, PAZARTESİ


Bu, tüm ilgili nesneler için özellik adlarını verir:

links = [rel.get_accessor_name() for rel in a._meta.get_all_related_objects()]

Sonra böyle bir şey ilgili tüm nesneleri almak için kullanabilirsiniz:

for link in links:
    objects = getattr(a, link).all()
    for object in objects:
        # do something with related object instance

Bir süre bir tür uygulamak olabilir bu yüzden bu anlamaya çalışıyorum" Desen "Gözlemci geçirdim benim modellerden biri. Yararlı umut.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Professor Messer

    Professor Me

    27 NİSAN 2007
  • Sali Kaceli

    Sali Kaceli

    24 ŞUBAT 2009
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008