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