2008-09-24 2 views
3

Есть ли хорошие пакеты или методы для выполнения обширных интерфейсов CRUD (create-retrieve-update-delete) в рамках Turbogears. Виджет FastDataGrid - это слишком много черного ящика, чтобы быть полезным, и CRUDTemplate выглядит как больше проблем, чем мой собственный. Идеи? Предложения?Выполнение CRUD в Turbogears

ответ

0

В то время как CRUDTemplate выглядит мягко сложным, я бы сказал, что вы можете реализовать CRUD/ABCD, используя практически любой ORM, который вы выберете. Это зависит от того, сколько из вас вы должны автоматизировать (что обычно означает определение моделей/схем раньше времени). Вы можете узнать больше и лучше контролировать, если вы соберете свой собственный, используя SQLAlchemy или SQLObject, из которых отлично работают с TurboGears.

+0

Я reallllllly ненавижу генераторы кода, что, если вам нужно что-то настроить, а затем нужно восстановить, потому что ваша модель изменилась? – 2009-10-02 06:48:56

0

После того, как вы сделали еще больше операций по перекопам и взломам, оказалось, что не очень сложно отбросить интерфейс Cakewalk в приложение. Это не очень много, без работы, но это работает сразу.

+1

Cakewalk? вы, вероятно, имеете в виду Подиум. В TG1 он немного сломан. В TG2 это потрясающе, поскольку это основано на sprox. Хотя вы должны использовать tgext.admin напрямую. – 2009-10-02 06:35:18

3

Вы должны действительно взглянуть на sprox (http://sprox.org/).

Он основан на RESTController, очень прямолинейный, хорошо документированный (imo), генерирует формы и достоверность «магически» из вашей базы данных и оставляет вам минимум кода для записи. Мне очень нравится работать с ним.

Надеюсь, что вам помогут :)

+0

sprox превосходит при создании CRUD. – 2009-10-02 06:37:18

2

Для этого вам нужен CRUD. Лучший способ добиться этого - с помощью инструмента, который убирает весь хромой код. Этот инструмент называется tgext.admin. Однако вы можете использовать его на нескольких уровнях.

  • Catwalk2, конфигурация по умолчанию tgext.admin, которая осведомлена о вашей быстроразвивающейся модели.
  • AdminController, это займет все ваши модели (или их список) и создать CRUD для всех из них.
  • CrudRestController, возьмет один объект и создаст для него CRUD.
  • RestController, возьмет один объект и предоставит вам только REST API, который не является форматом или отображением данных.
  • plain Sprox, вы передадите ему объект, и в зависимости от используемого базового класса вы получите форму neww или редактирование, или представление таблицы, или представление одной записи.
Смежные вопросы