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

  • George McCarron

    George McCar

    29 Mayıs 2013
  • New Scientist

    New Scientis

    27 Kasım 2006
  • Tahir Jahi

    Tahir Jahi

    6 Mart 2006