Ah yes, forgot to add the field to the end of it. Thats what happens when I write code in email :)
SQLFORM.factory(db.user.name, db.address.street) -Thadeus On Sun, Oct 25, 2009 at 12:38 PM, mdipierro <[email protected]> wrote: > > This > > > SQLFORM.factory( > > db.user, db.address > > ) > > will not quire work because both tables contain an Id field. I think > you need to explicitly list the fields to you want. > > Massimo > > On Oct 25, 11:50 am, Thadeus Burgess <[email protected]> wrote: > > znafets, Keeping the thread in this post... > > > > user = db((db.user.id == request.id) & (db.address.id_user == request.id > > )).select() > > > > db.user.id.default = user.id > > db.user.name.default = user.name > > db.user.email.default = user.email > > > > SQLFORM.factory( > > db.user, db.address > > ) > > > > Is there another way of doing this? To me, this is not DRY or KISS. > > > > -Thadeus > > > > On Sat, Oct 24, 2009 at 3:20 PM, Renato-ES-Brazil > > <[email protected]>wrote: > > > > > > > > > Massimo, > > > > > Sorry, your message to Thadeus, which also answered my question, > > > appeared only after, when I sent my question to this topic. > > > > > My example had just one table because it was a simple test with > > > SQLFORM.factory. > > > > > I thought it worked this way that you mentioned, but when I saw that > > > the SQLFORM.factory allows to send some parameters like > > > "db.table.field" instead of using Field(), I got confused. :-) > > > > > On 24 out, 18:07, mdipierro <[email protected]> wrote: > > > > A SQLFORM.factory has no knowledge of the underlying database. If you > > > > use SQLFORM.factory you should do the inserts/update manually. > > > > > > In your case your form involves a single table so you should just use > > > > crud.create or crud.update > > > > use db.table.field.writable and db.table.field.readable and > > > > db.table.field.default to change the behavior of the form. > > > > > > On Oct 24, 3:02 pm, Renato-ES-Brazil <[email protected]> > wrote: > > > > > > > Massimo, > > > > > > > I tried to use SQLFORM.factory just for tests: > > > > > > > def edit(): > > > > > task_id = request.args(0) > > > > > task=db(db.task.id==task_id).select()[0] > > > > > form=SQLFORM.factory(db.task.title, db.task.description, > > > > > record=task) > > > > > if form.accepts(request.vars, session): > > > > > response.flash = 'form accepted' > > > > > elif form.errors: > > > > > response.flash = 'form has errors' > > > > > else: > > > > > response.flash = '' > > > > > return dict(form=form) > > > > > > > The message "form accepted" was shown but the record was not > updated. > > > > > What should I do for work? > > > > > > > On 24 out, 17:32, Thadeus Burgess <[email protected]> wrote: > > > > > > > > >>>form=SQLFORM.factory(db. > > > > > > > > > table1.field1,db.table2.field2) > > > > > > > > Does this allow for the data to be inserted into the database? I > > > would try > > > > > > it right now but busy cleaning the home :) > > > > > > > > -Thadeus > > > > > > > > On Sat, Oct 24, 2009 at 1:35 PM, mdipierro < > [email protected]> > > > wrote: > > > > > > > > > What is wrong with this? > > > > > > > > > form=SQLFORM.factory(db.table1.field1,db.table2.field2) > > > > > > > > > On Oct 24, 1:28 pm, Thadeus Burgess <[email protected]> > wrote: > > > > > > > > As far as [1], use custom form > > > > > > > > > >http://web2py.com/AlterEgo/default/show/205 > > > > > > > > > > As far as [2], you could use SQLFORM.factory() or just a > straight > > > FORM() > > > > > > > > object, and populate their default from the database, and on > > > accepts you > > > > > > > > would have to insert them seperately into the database. > > > > > > > > > > I think this is a limitation of web2py that needs some work, > Too > > > often do > > > > > > > I > > > > > > > > have to break DRY just to get data from two tables into one > form, > > > its not > > > > > > > > pretty, and difficult to maintain. > > > > > > > > > > I find myself, almost not even using SQLFORM or CRUD anymore, > > > just > > > > > > > because I > > > > > > > > need specific fine grained control. > > > > > > > > > > -Thadeus > > > > > > > > > > On Sat, Oct 24, 2009 at 1:22 PM, znafets < > [email protected]> > > > wrote: > > > > > > > > > ot a table with user data and a table with address data > > > referencing > > > > > > > > > the user > > > > > > > > > Now I would like to cre > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to [email protected] 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 -~----------~----~----~----~------~----~------~--~---

