Alex,
I downloaded your app and ran it. If I understand you correctly, you're
trying to get "Medical" to show up instead of "1" when you navigate to
Humanlanguages -> English -> Dictionarytypes -> Words?
I achieved this by editing your db.py to the following:
##...
## Dictionary type means what category of dictionary is it? Medical,
computer,etc. There is one for each language.
db.define_table('DictionaryType',
Field('dictionaryName','string'),
Field('comments','string'),
Field('languageID','reference HumanLanguage'),
Field('DictionaryReferenceModelID', 'reference
DictionaryReferenceModel'),
auth.signature,
format='%(dictionaryName)s') # added format tag here
db.DictionaryType.dictionaryName.requires = IS_NOT_EMPTY()
db.DictionaryType.languageID.requires = IS_IN_DB(db, 'HumanLanguage.id',
'%(languageName)s',zero=T('choose one'))
db.DictionaryType.DictionaryReferenceModelID.requires = IS_IN_DB(db,
'DictionaryReferenceModel.id', '%(DictionaryTypeID)s',zero=T('choose one'))
##...
..and I removed lines 16 and 17 from your default.py controller (the
db.Word.dictionaryTypeID.represent statements).
Try that and see if that was what you were going for.
On Thursday, February 21, 2013 7:35:52 PM UTC-6, Alex Glaros wrote:
>
> Instead of *db.Word.dictionaryTypeID* displaying (which is a foreign key
> in db.Word), I’d like a value from the foreign table to appear, i.e.,
> DictionaryType. dictionaryName.
>
>
> In the example below, when user cascades down to the Word table, it only
> shows db.Word.dictionaryTypeID but I’d like to add the corresponding
> DictionaryType. dictionaryName value to it.
>
>
> def search_lang():
>
> grid = SQLFORM.smartgrid(db.HumanLanguage,
> linked_tables=['Word','DictionaryType'], fields = [db.HumanLanguage.id,
> db.HumanLanguage.languageName, db.Word.id, db.Word.wordName,
> db.Word.definition, db.DictionaryType.dictionaryName,
>
> *db.Word.dictionaryTypeID*],
>
> user_signature=False)
>
> return dict(grid=grid)
>
>
> id<http://127.0.0.1:8000/tech_dictionary/default/search_lang/HumanLanguage/Word.languageID/1?keywords=&order=Word.id>
>
>
> Wordname<http://127.0.0.1:8000/tech_dictionary/default/search_lang/HumanLanguage/Word.languageID/1?keywords=&order=Word.wordName>
>
>
> Definition<http://127.0.0.1:8000/tech_dictionary/default/search_lang/HumanLanguage/Word.languageID/1?keywords=&order=Word.definition>
>
>
> Dictionarytypeid<http://127.0.0.1:8000/tech_dictionary/default/search_lang/HumanLanguage/Word.languageID/1?keywords=&order=Word.dictionaryTypeID>
> 1 beaker glass jar 1
>
>
> Want to replace the "1" under Dictionarytypeid with value from foreign
> table.
>
> Thanks,
>
> Alex Glaros
>
>
--
---
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.