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

  • Boiler Room

    Boiler Room

    10 Mayıs 2012
  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • Drakinen

    Drakinen

    1 EYLÜL 2008