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

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • Muse

    Muse

    28 EYLÜL 2006
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007