Удобная обработка форм
В одной из предыдущих статей я писал о том, как лекго встроить ajax-валидацию форм [web-brains.com] в уже существующие виды с формами. Сегодня я придумал, как сделать это ещё проще.
SELECT `tag`.`id`,
`tag`.`name`,
`tag`.`translation`
FROM `tag`
WHERE (`tag`.`name` IN (newforms))
ORDER BY `tag`.`name` ASC
SELECT `blog_post`.`id`
FROM `blog_post`,
`tagged_item`
WHERE `tagged_item`.content_type_id = 12
AND `tagged_item`.tag_id IN (17)
AND `blog_post`.`id` = `tagged_item`.object_id
GROUP BY `blog_post`.`id`
SELECT COUNT(*)
FROM `blog_post`
WHERE (`blog_post`.`is_draft` = False
AND `blog_post`.`date` <= 2008-05-12 14:23:05.806547
AND `blog_post`.`id` IN (9,
14))
SELECT `blog_post`.`id`,
`blog_post`.`author_id`,
`blog_post`.`name`,
`blog_post`.`slug`,
`blog_post`.`teaser`,
`blog_post`.`text`,
`blog_post`.`render_method`,
`blog_post`.`html`,
`blog_post`.`date`,
`blog_post`.`upd_date`,
`blog_post`.`is_draft`,
`blog_post`.`is_featured`,
`blog_post`.`enable_comments`,
`blog_post`.`tags`,
(SELECT COUNT(*)
FROM comment_nodes,
django_content_type
WHERE comment_nodes.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND comment_nodes.object_id = blog_post.id
AND comment_nodes.approved) AS `approved_comments_count`,
(SELECT COUNT(*)
FROM pingback,
django_content_type
WHERE pingback.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND pingback.object_id = blog_post.id) AS `pingback_count`
FROM `blog_post`
WHERE (`blog_post`.`is_draft` = False
AND `blog_post`.`date` <= 2008-05-12 14:23:05.806547
AND `blog_post`.`id` IN (9,
14))
ORDER BY `blog_post`.`date` DESC LIMIT 2
SELECT `tag`.`id`,
`tag`.`name`,
`tag`.`translation`
FROM `tag`
INNER JOIN `tagged_item` AS `tag__items`
ON `tag`.`id` = `tag__items`.`tag_id`
WHERE (`tag__items`.`content_type_id` = 12
AND `tag__items`.`object_id` = 14)
ORDER BY `tag`.`name` ASC
SELECT `tag`.`id`,
`tag`.`name`,
`tag`.`translation`
FROM `tag`
INNER JOIN `tagged_item` AS `tag__items`
ON `tag`.`id` = `tag__items`.`tag_id`
WHERE (`tag__items`.`content_type_id` = 12
AND `tag__items`.`object_id` = 9)
ORDER BY `tag`.`name` ASC
SELECT `comment_nodes`.`id`,
`comment_nodes`.`user_id`,
`comment_nodes`.`pub_date`,
`comment_nodes`.`upd_date`,
`comment_nodes`.`body`,
`comment_nodes`.`body_html`,
`comment_nodes`.`reply_to_id`,
`comment_nodes`.`approved`,
`comment_nodes`.`content_type_id`,
`comment_nodes`.`object_id`,
`comment_nodes`.`lft`,
`comment_nodes`.`rght`,
`auth_user`.`id`,
`auth_user`.`username`,
`auth_user`.`first_name`,
`auth_user`.`last_name`,
`auth_user`.`email`,
`auth_user`.`password`,
`auth_user`.`is_staff`,
`auth_user`.`is_active`,
`auth_user`.`is_superuser`,
`auth_user`.`last_login`,
`auth_user`.`date_joined`,
`auth_user`.`site`,
`auth_user`.`email_new`,
`django_content_type`.`id`,
`django_content_type`.`name`,
`django_content_type`.`app_label`,
`django_content_type`.`model`
FROM `comment_nodes` ,
`auth_user`,
`django_content_type`
WHERE (`comment_nodes`.`approved` = True
AND `comment_nodes`.`approved` = True)
AND `comment_nodes`.`user_id` = `auth_user`.`id`
AND `comment_nodes`.`content_type_id` = `django_content_type`.`id`
ORDER BY `comment_nodes`.`pub_date` DESC LIMIT 5
SELECT `blog_post`.`id`,
`blog_post`.`author_id`,
`blog_post`.`name`,
`blog_post`.`slug`,
`blog_post`.`teaser`,
`blog_post`.`text`,
`blog_post`.`render_method`,
`blog_post`.`html`,
`blog_post`.`date`,
`blog_post`.`upd_date`,
`blog_post`.`is_draft`,
`blog_post`.`is_featured`,
`blog_post`.`enable_comments`,
`blog_post`.`tags`,
(SELECT COUNT(*)
FROM comment_nodes,
django_content_type
WHERE comment_nodes.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND comment_nodes.object_id = blog_post.id
AND comment_nodes.approved) AS `approved_comments_count`,
(SELECT COUNT(*)
FROM pingback,
django_content_type
WHERE pingback.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND pingback.object_id = blog_post.id) AS `pingback_count`
FROM `blog_post`
WHERE (`blog_post`.`id` = 37)
SELECT `blog_post`.`id`,
`blog_post`.`author_id`,
`blog_post`.`name`,
`blog_post`.`slug`,
`blog_post`.`teaser`,
`blog_post`.`text`,
`blog_post`.`render_method`,
`blog_post`.`html`,
`blog_post`.`date`,
`blog_post`.`upd_date`,
`blog_post`.`is_draft`,
`blog_post`.`is_featured`,
`blog_post`.`enable_comments`,
`blog_post`.`tags`,
(SELECT COUNT(*)
FROM comment_nodes,
django_content_type
WHERE comment_nodes.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND comment_nodes.object_id = blog_post.id
AND comment_nodes.approved) AS `approved_comments_count`,
(SELECT COUNT(*)
FROM pingback,
django_content_type
WHERE pingback.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND pingback.object_id = blog_post.id) AS `pingback_count`
FROM `blog_post`
WHERE (`blog_post`.`id` = 36)
SELECT `blog_post`.`id`,
`blog_post`.`author_id`,
`blog_post`.`name`,
`blog_post`.`slug`,
`blog_post`.`teaser`,
`blog_post`.`text`,
`blog_post`.`render_method`,
`blog_post`.`html`,
`blog_post`.`date`,
`blog_post`.`upd_date`,
`blog_post`.`is_draft`,
`blog_post`.`is_featured`,
`blog_post`.`enable_comments`,
`blog_post`.`tags`,
(SELECT COUNT(*)
FROM comment_nodes,
django_content_type
WHERE comment_nodes.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND comment_nodes.object_id = blog_post.id
AND comment_nodes.approved) AS `approved_comments_count`,
(SELECT COUNT(*)
FROM pingback,
django_content_type
WHERE pingback.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND pingback.object_id = blog_post.id) AS `pingback_count`
FROM `blog_post`
WHERE (`blog_post`.`id` = 36)
SELECT `blog_post`.`id`,
`blog_post`.`author_id`,
`blog_post`.`name`,
`blog_post`.`slug`,
`blog_post`.`teaser`,
`blog_post`.`text`,
`blog_post`.`render_method`,
`blog_post`.`html`,
`blog_post`.`date`,
`blog_post`.`upd_date`,
`blog_post`.`is_draft`,
`blog_post`.`is_featured`,
`blog_post`.`enable_comments`,
`blog_post`.`tags`,
(SELECT COUNT(*)
FROM comment_nodes,
django_content_type
WHERE comment_nodes.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND comment_nodes.object_id = blog_post.id
AND comment_nodes.approved) AS `approved_comments_count`,
(SELECT COUNT(*)
FROM pingback,
django_content_type
WHERE pingback.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND pingback.object_id = blog_post.id) AS `pingback_count`
FROM `blog_post`
WHERE (`blog_post`.`id` = 36)
SELECT `blog_post`.`id`,
`blog_post`.`author_id`,
`blog_post`.`name`,
`blog_post`.`slug`,
`blog_post`.`teaser`,
`blog_post`.`text`,
`blog_post`.`render_method`,
`blog_post`.`html`,
`blog_post`.`date`,
`blog_post`.`upd_date`,
`blog_post`.`is_draft`,
`blog_post`.`is_featured`,
`blog_post`.`enable_comments`,
`blog_post`.`tags`,
(SELECT COUNT(*)
FROM comment_nodes,
django_content_type
WHERE comment_nodes.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND comment_nodes.object_id = blog_post.id
AND comment_nodes.approved) AS `approved_comments_count`,
(SELECT COUNT(*)
FROM pingback,
django_content_type
WHERE pingback.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND pingback.object_id = blog_post.id) AS `pingback_count`
FROM `blog_post`
WHERE (`blog_post`.`id` = 36)
SELECT `blog_post`.`id`,
`blog_post`.`author_id`,
`blog_post`.`name`,
`blog_post`.`slug`,
`blog_post`.`teaser`,
`blog_post`.`text`,
`blog_post`.`render_method`,
`blog_post`.`html`,
`blog_post`.`date`,
`blog_post`.`upd_date`,
`blog_post`.`is_draft`,
`blog_post`.`is_featured`,
`blog_post`.`enable_comments`,
`blog_post`.`tags`,
(SELECT COUNT(*)
FROM comment_nodes,
django_content_type
WHERE comment_nodes.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND comment_nodes.object_id = blog_post.id
AND comment_nodes.approved) AS `approved_comments_count`,
(SELECT COUNT(*)
FROM pingback,
django_content_type
WHERE pingback.content_type_id = django_content_type.id
AND django_content_type.model = 'post'
AND pingback.object_id = blog_post.id) AS `pingback_count`
FROM `blog_post`
WHERE (`blog_post`.`is_draft` = False)
ORDER BY `blog_post`.`date` DESC LIMIT 5
SELECT DISTINCT `tag`.id,
`tag`.name,
`tag`.translation,
COUNT(`blog_post`.`id`)
FROM
`tag`
INNER JOIN `tagged_item`
ON `tag`.id = `tagged_item`.tag_id
INNER JOIN `blog_post`
ON `tagged_item`.object_id = `blog_post`.`id`
WHERE `tagged_item`.content_type_id = 12
GROUP BY `tag`.id,
`tag`.name,
`tag`.translation
ORDER BY `tag`.name ASC
SELECT `blogroll_link`.`id`,
`blogroll_link`.`url`,
`blogroll_link`.`name`,
`blogroll_link`.`relations`,
`blogroll_link`.`order`,
`blogroll_link`.`friendship_rel`,
`blogroll_link`.`physical_rel`,
`blogroll_link`.`professional_rel`,
`blogroll_link`.`geographical_rel`,
`blogroll_link`.`family_rel`,
`blogroll_link`.`romantic_rel`,
`blogroll_link`.`identity_rel`
FROM `blogroll_link`
ORDER BY `blogroll_link`.`order` ASC