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

  • apenney888

    apenney888

    27 EKİM 2010
  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • Tom Megalis

    Tom Megalis

    18 NİSAN 2006