Hi group!

I'm building a small blog where the user has the ability to assign multiple 
categories to blog posts.
My quesition is.. what is the proper way to query those posts?

db.define_table('blog_cat',
                Field('name', 'string', label=T('Name of the category')),
                Field('slug', compute=lambda r: IS_SLUG()(r['name'])[0]),
                Field('description', 'string', label=T('Describe what will 
be inside this category'))
                )

db.define_table('blog_post',
                Field('blog_cat', 'list:reference blog_cat', 
requires=IS_IN_DB(db,db.blog_cat.id,'%(name)s', multiple=True), 
label=T('Chose one or more categories')),
                Field('title', 'string', label=T('Name the title of your 
post')),
                Field('body', 'text', label=T('Your post'), 
widget=ckeditor.widget),
                auth.signature
                )

I created two categories and two posts. One post only has one category 
while the other has two.

This is my query:

try:
    category = db(db.blog_cat.slug==request.args(0)).select().first().id
    posts = db(db.blog_post.blog_cat == 
category).select(orderby=~db.blog_post.created_on)
except:
    posts = db(db.blog_post.id>0).select(orderby=~db.blog_post.created_on)

The problem is when a post has multiple categories, it is not shown. How do 
I solve this?

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to