For the "stamp" columns do you not think that the default should be like the 'id' column - do not expose/display?
On Oct 18, 12:11 am, mdipierro <[EMAIL PROTECTED]> wrote: > for your own tables you should do > > db.tablename.esposes=['field1','field2','etc'] > > to list the fields that you want to appear in forms and exclude those > you do not want. > > db.tablename.displays=['field1','field2','etc'] > > to list fields that should be displayed by t2.display > > I will look into the other issues. > > On Oct 17, 5:58 pm, billf <[EMAIL PROTECTED]> wrote: > > > I am trying to test the behaviour of the new t2 "stamped" columns. > > > The T2 manual says of the "Stamp" pattern: "Automatically stamp table > > records for creation date, author, last modification date and author > > of the last modification." I thought initially that this meant that > > those columns would be automatically added to all tables (like id) but > > now I can see from the _stamp() method how the 8 columns are stamped > > if present however I have a few observations: > > > In my example table I have included created_on and modified_on simple > >c; as 'datetime' and no other attributes. > > > 1) The auto create view exposes both created_on and modified_on as > > input fields and insists on datetimes being entered. I would have > > expected that neither column should be exposed as any input will be > > overridden by _stamp(). > > > 2) The automatic update view exposes both created_on and modified_on > > as input fields and insists on datetimes being entered. I would have > > expected that both columns should be display only and any input > > ignored or responded to as "error tampered with". It must be illegal > > to change the create attributes and the modified attributes should be > > set by _stamp(). > > > 3) When a record is updated the modified_on timestamp does not > > change. I think this is because _stamp() stores the new stamp values > > in form.vars but these values never make it into the fields[] list > > that is used to update the record on the database. > > > 4) (referring back to an earlier thread) the modified_on value is not > > included in the update and delete condition to highlight race > > conditions. To a degree, I can understand this as t2 is built upon > > web2py and the update() and delete() methods are in web2py. Perhaps a > > solution would be the ability to pass SQLFORM an argument to be used > > as the condition in update() and delete(). This would default to > > "self.table.id==self.record.id" but could be passed in from t2 as > > "self.table.id== self.record.id and > > self.table.modified_on==self.record.modified_on" if the modified_on > > column was present. This would seem to keep the backwards > > compatibility of web2py but allow t2 to utilise the new modified_on > > column. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---