1

私は web2py を初めて使用し、auth_user に追加のフィールドを追加しようとしています。以下のコードに示すように、「メンター」のデフォルト値を「リファラー」に入力された値に設定しようとしていますが、機能していません。レコードの作成時にデータは追加されません。「メンター」は後の段階で変更できますが、デフォルトは「リファラー」に設定されます。私は何を間違っていますか?ご意見をお聞かせください。

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()
auth.settings.extra_fields['auth_user']=[
   Field('gender', requires=IS_IN_SET(['Female', 'Male'])),
   Field('birthday', type='date'),
   Field('country'),
   Field('city'),
   Field('referrer', default = 'admin'),
   Field('mentor', default=request.post_vars.referrer)]
4

1 に答える 1

0

あなたはもっと運がいいかもしれません

def get_default_mentor():
    return request.post_vars.referrer

default=get_default_mentor()

私の経験では、デフォルト値が変更される可能性がある場合、デフォルト値を取得する関数にデフォルト フィールドを設定するのが最善です。

于 2013-11-09T23:43:03.007 に答える