Using auth.signature is a good approach (though may be overkill if you 
don't need the other fields it creates). But for reference, to achieve what 
you want, just hide the user_id field and give it a default value:

Field('user_id', 'reference auth_user', writable=False, default=auth.user_id
)

Anthony

On Friday, July 31, 2015 at 1:24:29 PM UTC-4, Massimo Di Pierro wrote:
>
> Do not do this:
>
> db.define_table('image',
>                 Field('user_id', 'reference auth_user'),
>                 Field('file', 'upload'),
>                 Field('description', 'text'))
>
> do
>
> db.define_table('image',
>                 Field('file', 'upload'),
>                 Field('description', 'text'),
>                 auth.signature)
>
> and the db.image.created_by will be a reference to the user who uploaded 
> the image.
>
> On Friday, 31 July 2015 12:11:35 UTC-5, Pablo Andrés Ortega Chávez wrote:
>>
>> Hello Guys,
>>
>>
>> Just starting with Web2Py.
>>
>>
>> I'm working on a project and need to do the following:
>>
>>
>> I have image defined in the DB like this:
>>
>> db.define_table('image',
>>                 Field('user_id', 'reference auth_user'),
>>                 Field('file', 'upload'),
>>                 Field('description', 'text'))
>>
>> And then:
>>
>> db.image.user_id.requires = IS_IN_DB(db, db.auth_user.id, 
>> '%(displayed_name)s')
>>
>>
>> Then I created a function, so only registered users may upload or send 
>> pictures:
>>
>> @auth.requires_login()
>> def upload():
>>     form = SQLFORM(db.image)
>>     if form.process().accepted:
>>         response.flash = 'Your Photo has been sent!'
>>     return dict(form=form)
>>
>>
>>
>> The problem I've been having is I need to bind every uploaded picture by 
>> a user to that specific user. I don't even need the form to show a list of 
>> users to select which one is the owner of the photo, because the owner must 
>> always be the logged in user.
>>
>> However, I haven't managed to find a way of doing that. Read the 
>> documentation but couldn't find an example.
>>
>> Right now, with the code I have, the form would show me the list of all 
>> registered users to select one to bind the photo with.
>>
>>
>> I really appreciate your help.
>>
>>
>> Thanks!
>>
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to