If you don't want the user to see or be able to edit the created_on value,
just set readable=writable=False for that field. When an insert is done,
the default value set at the time of the insert request will be used.
Anthony
On Saturday, October 5, 2013 5:36:32 PM UTC-4, User wrote:
>
> When using default field value, if I add a record through appadmin, the
> default is populated in the form and therefore the actual database
> insertion time is not recorded but rather the form generation time. Is
> there a way around this?
>
>
> On Wednesday, October 2, 2013 8:57:35 AM UTC-4, Anthony wrote:
>
>> No, passing a table object into db.define_table() only copies the tables
>> fields, not its other attributes. Anyway, if you want to set the default
>> value for a field, you would do it using the "default" argument to Field():
>>
>> standard_fields = db.Table(db, 'standard_fields',
>> Field('created_on', 'datetime', default=request.now))
>>
>> You might also want to set writable=False.
>>
>> Anthony
>>
>> On Tuesday, October 1, 2013 11:26:08 PM UTC-4, User wrote:
>>>
>>> Using table inheritance to define a common set of fields. Given the
>>> following code:
>>>
>>> standard_fields = db.Table(db, 'standard_fields',
>>> Field('created_on', 'datetime'),
>>> )
>>> standard_field._before_insert.append(lambda fields: fields['created_on']
>>> = request.now)
>>>
>>> db.define_table('payment', Field('amount', 'double'), standard_fields)
>>>
>>> will table payment inherit the _before_insert (or _before_update)
>>> behavior? I'm trying this but I think it may not inherit. If it doesn't,
>>> is the only option to specify the ._before_insert for each table? I
>>> want to add this to a number of tables.
>>>
>>>
>>
--
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.