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

  • LiveForGodsKingdom

    LiveForGodsK

    6 NİSAN 2008
  • modica89

    modica89

    24 HAZİRAN 2007
  • NextKsa

    NextKsa

    7 EKİM 2009