images=db(db.image.blog_id==db.blogposts.id).select(db.image.ALL)

Here you are saying to the database to do exactly what you don't want...

You should pass the id of your db.blogposts and not all the ids...

Try :

images=db(db.image.blog_id==1).select(db.image.ALL)

If there is a blogposts that have id 1... You should have only the images
associates to this blogposts record...

Richard


On Tue, Jul 26, 2011 at 12:19 PM, Web2Py Freak
<halna...@gardeniatelco.com>wrote:

> this is the code for adding an image to a blog :  when i use it it
> gets all the images to all the blogs
> ...........................................................
> db.py:
>
>
> import datetime
> now=datetime.datetime.today()
> db.define_table('blogposts',
>               SQLField('title', length=64),
>               SQLField('author', default=session.username),
>               SQLField('datetime', 'datetime',default=now),
>               SQLField('post', 'text'),
>               SQLField('numcomments', 'integer',default=0))
> db.blogposts.title.requires = [IS_NOT_EMPTY(),
> IS_NOT_IN_DB(db,db.blogposts.title)]
> db.blogposts.author.requires = IS_NOT_EMPTY()
> db.blogposts.post.requires = IS_NOT_EMPTY()
>
> db.define_table('image',Field('blog_id',db.blogposts),Field('title'),Field(
> 'discription','text'),Field('image','upload'))
> db.image.title.requires = IS_NOT_IN_DB(db, db.image.title)
> db.image.blog_id.requires = IS_IN_DB(db, db.blogposts.id, '%
> (title)s')
>
> .........................................................................
> controler:
>
> blogposts = db().select(db.blogposts.ALL,
> orderby=~db.blogposts.datetime)
>    blogposts_numcomments = db().select(db.blogposts.ALL,
> orderby=~db.blogposts.numcomments|~db.blogposts.datetime)
>    commentsnposts = db(db.blogcomments.blogpost_id ==
> db.blogposts.id)
>    comments = commentsnposts.select(db.blogcomments.author,
> db.blogcomments.blogpost_id, db.blogposts.title,
> orderby=~db.blogcomments.datetime)
>    images=db(db.image.blog_id==db.blogposts.id).select(db.image.ALL)
> youtube=db(db.youtube.blog_id==db.blogposts.id).select(db.youtube.ALL)
>    vimo=db(db.vimo.blog_id==db.blogposts.id).select(db.vimo.ALL)
>    return dict(blogposts=blogposts,
> blogposts_numcomments=blogposts_numcomments,
> comments=comments,images=images,youtube=youtube,vimo=vimo)
>
>
> .....................................
>
> view:
>
> {{for photo in images:}}
> <div style="width:200px ; margin-left:200px">
> <div style="width:200px;margin-left:50px">
>     <p><b>{{=XML(photo.title)}}</b></p>
>     </div>
> <img width="200px"
>     src="{{=URL('download', args=photo.image)}}" />
>     <div style="width:200px;margin-left:50px">
>     <p>{{=XML(photo.discription)}}</p>
>     </div>
>     <div>
> {{pass}}
>

Reply via email to