getting this error: 

ValueError: invalid literal for long() with base 10: 'ergergrg'


    t = db.t_tests_results
    def POST(**post_params):
        if db(db.auth_user.api_key == post_params['api_key']).count():
            #post_params['f_test'] = db(db.t_tests.f_test_name ==
             #                 
 post_params['f_test']).select(db.t_tests.id).first().id
            #post_params['f_project'] = db(db.t_projects.f_project_name ==
             #                 
 post_params['f_project']).select(db.t_projects.id).first().id
            post_params['f_platform'] = db(db.t_types.f_platform_name ==
                                
post_params['f_platform']).select(db.t_types.id).first().id
            #post_params['f_device'] = db(db.t_devices.f_device_name ==
             #                 
 post_params['f_device']).select(db.t_devices.id).first().id

            return t.validate_and_insert(**t._filter_fields(post_params))
        else:
            raise HTTP(400)
    return locals()


On Saturday, February 1, 2014 11:24:02 PM UTC+2, Avi A wrote:
>
> Yes, that's what I want.
> I'll give it a try , thanks.
>
> On Saturday, February 1, 2014 10:30:28 PM UTC+2, Anthony wrote:
>>
>> Without the ability to post data to reference fields it's a problem to 
>>> achieve it. just posting the reference data as strings won't allow me to 
>>> make these filters, unless I will insert them into tables after posting to 
>>> the tests results table. (I think).
>>>
>>
>> Keep in mind, a reference field references an entire record in another 
>> table, not just a particular string field in that table. In general, the 
>> referenced table may not even include a string field that contains unique 
>> values, so you couldn't reference a particular record simply by specifying 
>> a single string.
>>
>> I'm not sure I completely follow your data model, but for example, is the 
>> f_platform field a reference to the db.t_types table (which itself contains 
>> an f_platform_name field)? Is it the case that you want users to be able to 
>> specify an f_platform_name string and have that converted to the 
>> appropriate record ID of the t_types table so the ID can be stored in the 
>> f_platform field? If so, you just need to write the code to do that:
>>
>> post_params['f_platform'] = db(db.t_types.f_platform_name ==
>>                                post_params['f_platform']).select(db.
>> t_types.id).first().id
>>
>> That will use the string value of f_platform to look up the record ID in 
>> db.t_types, and then change post_params['f_platform'] to that record ID. 
>> You could do something similar for any other fields that need to be looked 
>> up/converted.
>>
>> Anthony
>>
>>

-- 
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/groups/opt_out.

Reply via email to