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

  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • Professor Messer

    Professor Me

    27 NİSAN 2007
  • soyacincautv

    soyacincautv

    14 NİSAN 2010