SORU
29 Mart 2010, PAZARTESİ


sqlalchemy üzerinden yineleme yöntemi modeli'tanımlanmış sütunlar s?

Sütunlar SqlAlchemy bir model içinde tanımlanan liste üzerinde yineleme için nasıl anlamaya çalışıyorum. Model bir çift için bazı seri hale getirme ve kopya yöntemleri yazma için istiyorum. Sadece nesne üzerinde yineleme yapmak istemiyorum.dictSA özel öğeleri bir sürü içerir beri.

Herkes sadece kimliği almak için bir yol biliyor ve takip aza isimleri?

class JobStatus(Base):
    __tablename__ = 'jobstatus'

    id = Column(Integer, primary_key=True)
    desc = Column(Unicode(20))

Bu küçük durumda kolayca yaratabilir:

def logme(self):
    return {'id': self.id, 'desc': self.desc}

ama daha büyük nesneler için otomatik üreten bir şey tercih ederim.

Yardımın için teşekkürler.

CEVAP
29 Mart 2010, PAZARTESİ


Bu eşleyici tanımlanan özellikleri listesini alabilirsiniz. Dava için sadece ColumnProperty nesneleri ilgileniyorsun.

from sqlalchemy.orm import class_mapper
import sqlalchemy

def attribute_names(cls):
    return [prop.key for prop in class_mapper(cls).iterate_properties
        if isinstance(prop, sqlalchemy.orm.ColumnProperty)]

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • metagamers

    metagamers

    13 Mayıs 2006
  • PremiumBeat.com - Royalty Free Music

    PremiumBeat.

    16 Kasım 2008
  • Vortez

    Vortez

    27 Temmuz 2009