That is awesome, I did not know that! Just when you think its more complicated than not, its easy.
So how do I reference that from the dependents table so that in my smart grid it shows the patients name associated with the dependent? Thanks On Wed, Jun 26, 2013 at 10:43 AM, Anthony <abasta...@gmail.com> wrote: > db.define_table('patient', > ..., > format='%(first_name)s %(last_name)s') > > "format" can also be a function that takes a row object and generates the > desired output. > > The "format" attribute is used to create a default "represent" attribute > for any reference fields that reference this table. > > Anthony > > > On Wednesday, June 26, 2013 10:24:32 AM UTC-4, Tom Russell wrote: > >> db.define_table('patient', >> #db.patient.id.readable=False # Since we do not want to expose the id >> field on the grid >> Field('alternatepid', label='Alternate PID', writable=False, >> readable=False), >> Field('first_name', label='First Name', requires=IS_NOT_EMPTY()), >> Field('middle_name', label='Middle Name'), >> Field('last_name', label='Last Name', requires=IS_NOT_EMPTY()), >> Field('suffix', label='Suffix', requires=IS_IN_SET(['I', 'II', 'III', >> 'IV', 'V', 'Jr', 'Sr'])), >> Field('date_of_birth', 'date', label='Date of Birth', >> required=IS_DATE(), requires=IS_NOT_EMPTY()), >> Field('gender', label='Gender', requires=IS_IN_SET(['Male', 'Female', >> 'Other'])), >> Field('full_name', label='Full Name', writable=False, >> readable=False), >> Field('address1', label='Address1', requires=IS_NOT_EMPTY()), >> Field('address2', label='Address2'), >> Field('city', label='City', requires=IS_NOT_EMPTY()), >> Field('state', label='State', requires=IS_NOT_EMPTY()), >> Field('zipcode', label='Zip Code', requires=IS_NOT_EMPTY()), >> Field('addresstype', label='AddressType'), >> Field('county', label='County', ), >> Field('country', label='Country', requires=IS_IN_SET(COUNTRIES))**, >> Field('phone', label='Phone', ), >> Field('mobile_phone', label='Mobile Phone'), >> Field('emailaddress', label='Email Address', requires = >> IS_EMAIL(error_message='**invalid email!')), >> Field('ethnicity', label='Ethnicity', requires=IS_IN_SET(['**Caucasian', >> 'Hispanic', 'Chinese'])), >> Field('age', label='Age'), >> Field('marital_status', label='Marital Status', >> requires=IS_IN_SET(['Single', 'Married', 'Divorced', 'Separated', >> 'Widowed'])), >> Field('comment', 'text', label='Comment'), >> Field('government_id_number', label='Government ID Number', >> requires=IS_NOT_EMPTY()), >> Field('is_newborn', 'boolean', label='Is Newborn', ), >> Field('medical_record_number', label='MRN', readable=True, >> requires=IS_NOT_EMPTY()), >> Field('other_id_type', label='Other ID Type', >> requires=IS_IN_SET(['Work', 'Library Card', 'Drivers License', 'School ID', >> 'Other'])), >> Field('other_id', label='Other ID'), >> ) >> >> >> db.define_table( >> 'dependents', >> #Field('patient name', db.linked patient, represent=lambda c, >> row:first_name of patient(c), requires=IS_IN_DB(db,'field.id** >> ','%(patient)s')), >> Field('patient','reference patient', writable=False, readable=False), >> Field('dep_firstname', label='First Name'), >> Field('dep_middlename', label='Middle Name'), >> Field('dep_lastname', label='Last Name'), >> Field('dep_relationship', label='Relationship', >> requires=IS_IN_SET(['Son', 'Daughter', 'Other'])), >> ) >> >> db.define_table( >> 'emergencycontacts', >> Field('patient','reference patient', writable=False, readable=False), >> Field('em_first_name', label='First Name'), >> Field('em_middle_name', label='Middle Name'), >> Field('em_last_name', label='Last Name'), >> Field('em_address1', label='Address1'), >> Field('em_address2', label='Address2'), >> Field('em_city', label='City'), >> Field('em_state', label='State'), >> Field('em_zipcode', label='Zip Code'), >> Field('em_country', label='Country', requires=IS_IN_SET(COUNTRIES))** >> , >> Field('em_phone', label='Phone'), >> Field('em_relationship', label='Relationship', >> requires=IS_IN_SET(['Aunt', 'Uncle', 'Parent', 'Sibling', 'Spouse', >> 'Guardian'])), >> ) >> >> I'd like to reference the first and last name of the patient the record >> is associated with. >> >> Thanks. >> >> >> On Wed, Jun 26, 2013 at 10:20 AM, Anthony <abas...@gmail.com> wrote: >> >>> Can you show your three table definitions? The simplest method is just >>> to specify a "format" attribute for db.patient, which will be used by any >>> referencing fields. >>> >>> Anthony >>> >>> >>> On Wednesday, June 26, 2013 1:06:03 AM UTC-4, Tom Russell wrote: >>>> >>>> Another question on the smartgrid. >>>> >>>> I have linked tables in my smartgrid like: >>>> >>>> grid = SQLFORM.smartgrid(db.patient, deletable=True, editable=True, >>>> create=False, maxtextlength=64, paginate=25, links=links, >>>> links_in_grid=True, linked_tables=['**emergencyconta**cts','** >>>> dependents']) >>>> >>>> When clicking on the linked table it shows the id of patient since >>>> thats what reference but how can I show the name of the patient rather than >>>> the id of patient? >>>> >>>> Thanks, >>>> >>>> Tom >>>> >>> -- >>> >>> --- >>> 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+un...@**googlegroups.com. >>> >>> For more options, visit >>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>> . >>> >>> >>> >> >> -- > > --- > 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. > > > -- --- 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.