Hey Dave thanks for replying. I think i'm going about this the wrong way. 
The *temperature *table already references the *store_registration *table 
via the *employee *variable. By my understanding the *employee *variable 
already holds all the information in the *store_registration *table & I 
need some values from the *store_registration table(contact_number, 
id_number, branch, residential_place)* to be unpacked & stored with the new 
details (temperature) in the *temperature *table without me having to 
re-enter them again, isnt there a way for this?

I have been looking at the inner-joins I just dont get how I can apply them 
here, a small example with regards to issue would go a long way.

Thank you 😊

On Friday, June 12, 2020 at 9:49:04 AM UTC+2, Dave S wrote:
>
>
>
> On Thursday, June 11, 2020 at 8:55:16 AM UTC-7, mostwanted wrote:
>>
>> I have 2 tables one table references the other table.
>> db.define_table('store_registration',
>>                 Field('first_name', requires=IS_NOT_EMPTY()),
>>                 Field('last_name', requires=IS_NOT_EMPTY()),
>>                 Field('contact_number', label=SPAN('Cell Number'), 
>> requires=IS_NOT_EMPTY()),
>>                 Field('id_number', requires=IS_NOT_EMPTY()),
>>                 Field('program', requires=IS_NOT_EMPTY()),
>>                 Field('level_is', label=SPAN('Level'), requires=
>> IS_NOT_EMPTY()),
>>                 Field('module_is', label=SPAN('Module'), requires=
>> IS_NOT_EMPTY()),
>>                 Field('branch', label=SPAN('Branch'), requires=
>> IS_NOT_EMPTY()),
>>                 Field('residential_place', label=SPAN('Residence'), 
>> requires=IS_NOT_EMPTY()),
>>                 Field('region', 'reference auth_group', default=get_group
>> (), writable=False), #*Here*
>>                 Field('recorded_by', 'reference auth_user', default=auth.
>> user_id, writable=False),
>>                 format="%(first_name)s %(last_name)s"
>>                )
>>
>> db.define_table('temperatures',
>>                 Field('employee', 'reference store_registration', 
>> writable=False),
>>                 Field('branch', 'reference store_registration', writable=
>> False),
>>                 Field('temperature', requires=IS_NOT_EMPTY()),
>>                 Field('ID_No', 'reference store_registration', writable=
>> False),
>>                 Field('Cell_No', 'reference store_registration', writable
>> =False),
>>                 Field('residential', 'reference store_registration', 
>> writable=False))
>>
>> I am trying to have the referenced fields pre-populated with their 
>> default values in a table form so that I don't have to populate them 
>> manually like this: 
>>
>> def client_details():
>>     details=db.store_registration(request.args(0, cast=int))
>>     db.temperatures.employee.default=details.id
>>     db.temperatures.ID_No.default=details.id_number
>>     db.temperatures.Cell_No.default=details.contact_number
>>     db.temperatures.branch.default=details.branch
>>     db.temperatures.residential.default=details.residential_place
>>     form=SQLFORM(db.temperatures)
>>     if form.process().accepted:
>>         response.flash=T('Temp Recorded')
>>     return locals()
>>
>> But this gives me an error: 
>> <type 'exceptions.ValueError'> invalid literal for long() with base 10:
>>
>> I read somewhere that this occurs because 
>>
>> *reference fields are intended to store the integer record ID's of the 
>> referenced records, not copies of string fields from referenced records*
>> *.* 
>> Is there a way I can achieve my above task without causing this error?!
>>
>> Regards;
>>
>> Mostwanted
>>
>
> I think you want to use an inner join.
> <URL:
> https://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#Inner-joins
> >
> and to have just one field referencing the other table (a "points_to" 
> field),..
>
> /dps
>  
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/ac3f13d6-3b3c-4fcd-96de-60172eded4bao%40googlegroups.com.

Reply via email to