Полностью согласен про сложность. Мало того сложность, он еще и достаточно запутан.
Я как то хотел его использовать в своем проекте, но наткнулся просто на стену.
У меня есть приложение некоторые задачи которых хотелось вынести в очередь.
Я взялся за celery и сразу словил лулзы по поводу тестирования.
Я хотел написать код задач единожды, но при тестировании подменять настройки sheduler'а на eager mode и другие настройки.
Я пытался разобратся, но код там немного беспорядочный в итоге заюзал другой инструмент.
Какой смысл экспортировать компоненту? Для использования класса не нужна компонента, она нужна только в момент рендера, а там можно с помошью фабрики создать компоненту. Так что тут нужен только один экспорт — класса.
var IndexView = require('./templates/views/index'),
UsersView = require('./templates/views/users'),
UserView = require('./templates/views/user');
var IndexFactory = React.createFactory(IndexView),
UsersFactory = React.createFactory(UsersView),
UserFactory = React.createFactory(UserView);
//snip
this.route(urls.user, 'user', function (user_id) {
var user = users.get(user_id) || new User({'name': user_id});
React.render(UserFactory({model: user}), document.getElementById('content'));
user.fetch();
console.log('hello user')
});
Странно что по поводу 3его пункта еще ни кто не скинул ссылку на softwaremaniacs.org/blog/2009/01/14/changed-data-in-forms/ этот замечательный пост Ивана Сагалаева.
А по остальным пунктам, поведение совершенно ожидаемое.
Хотите валидацию при создании?
Создавайте через
m= Model()
m.save()
И не забывайте про full_clean() который не вызывается в обычном clean.
Хотите массвое удаление? Удаляйте в цикле по одному или усложняйте логику, путем переопределения метода delete в Query, который будет удалять с exclude(name='root')
Я использую с своем проекте trml2pdf от reportlab. Со временем разобрался в особенностях rml и дело пошло как по маслу.
Для рендера использую django шаблонизатор, и функцию подсмотренную где то на сайте RL.
Вызывается на подобие django.shortcuts.render типа так, это дает возможность использовать всю мощь шаблонов джанго и языка rml.
Я как то хотел его использовать в своем проекте, но наткнулся просто на стену.
У меня есть приложение некоторые задачи которых хотелось вынести в очередь.
Я взялся за celery и сразу словил лулзы по поводу тестирования.
Я хотел написать код задач единожды, но при тестировании подменять настройки sheduler'а на eager mode и другие настройки.
Я пытался разобратся, но код там немного беспорядочный в итоге заюзал другой инструмент.
А по остальным пунктам, поведение совершенно ожидаемое.
Хотите валидацию при создании?
Создавайте через
m= Model()
m.save()
И не забывайте про full_clean() который не вызывается в обычном clean.
Хотите массвое удаление? Удаляйте в цикле по одному или усложняйте логику, путем переопределения метода delete в Query, который будет удалять с exclude(name='root')
Для рендера использую django шаблонизатор, и функцию подсмотренную где то на сайте RL.
Вызывается на подобие django.shortcuts.render типа так, это дает возможность использовать всю мощь шаблонов джанго и языка rml.