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

  • ColdfusTion

    ColdfusTion

    3 Aralık 2007
  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • Hak5

    Hak5

    7 EYLÜL 2005