Динамическое Создание Таблицы и ORM, отображающийся в SqlAlchemy

Это очень хороший пример SlideExpandibleList в Github.

https://github.com/tjerkw/Android-SlideExpandableListView

Надеюсь, это поможет вам добиться плавной анимации и коллапса.

В этом примере сохранено состояние элемента расширенного списка. Поэтому, даже если вы прокрутите список вниз, закрытый элемент списка не будет закрыт.

В этом примере событие раскрытия или сворачивания задается для кнопки, поэтому вам необходимо изменить его родительский макет элемента списка.

Я приложил снимки экрана.

Надеюсь, это поможет вам.

enter image description here

15
задан Mathieu Rodic 5 January 2015 в 16:54
поделиться

4 ответа

SqlAlchemy совершенно избаловал нас.
Следующее ниже взято непосредственно из учебного пособия ,
и его действительно легко настроить и приступить к работе.

И поскольку это делается так часто,
Майк Байер сделал это еще проще
с помощью универсального «декларативного» метода .

Настройте свою среду (я использую базу данных SQLite в памяти для тестирования):

>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///:memory:', echo=True)
>>> from sqlalchemy import Table, Column, Integer, String, MetaData
>>> metadata = MetaData()

Определите свою таблицу:

>>> players_table = Table('players', metadata,
...   Column('id', Integer, primary_key=True),
...   Column('name', String),
...   Column('score', Integer)
... )
>>> metadata.create_all(engine) # create the table

Если у вас включено ведение журнала, вы увидите SQL, который SqlAlchemy создает для вас.

Определите свой класс:

>>> class Player(object):
...     def __init__(self, name, score):
...         self.name = name
...         self.score = score
...
...     def __repr__(self):
...        return "<Player('%s','%s')>" % (self.name, self.score)

Сопоставьте класс со своей таблицей:

>>> from sqlalchemy.orm import mapper
>>> mapper(Player, players_table) 
<Mapper at 0x...; Player>

Создайте игрока:

>>> a_player = Player('monty', 0)
>>> a_player.name
'monty'
>>> a_player.score
0

Вот и все, теперь вы есть свой стол игрока.
Кроме того, группа Google SqlAlchemy великолепна.
Майк Байер очень быстро отвечает на вопросы.

26
ответ дан 1 December 2019 в 01:38
поделиться

Может быть, посмотрите SQLSoup , который является слоем над SQLAlchemy.

3
ответ дан 1 December 2019 в 01:38
поделиться

you can use declarative method for dynamically creating tables in database

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey


Base = declarative_base()

class Language(Base):
    __tablename__ = 'languages'

    id = Column(Integer, primary_key=True)
    name = Column(String(20))
    extension = Column(String(20))

    def __init__(self, name, extension):
        self.name = name
        self.extension = extension
2
ответ дан 1 December 2019 в 01:38
поделиться

Я столкнулся с той же проблемой, когда пытался автоматизировать простые задачи CRUD с помощью SQLAlchemy. Вот простое объяснение и небольшой код: http://www.devx.com/dbzone/Article/42015

1
ответ дан 1 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: