Yep, the "finished" field will prevent the unfinished records from being exposed where they shouldn't be.
On Mon, Nov 25, 2013 at 11:15 AM, Dave S <snidely....@gmail.com> wrote: > On Saturday, November 23, 2013 11:44:05 PM UTC-8, Mark Li wrote: >> >> I think I've found an optimal solution for this. >> >> Since the validators for my table are only enforced at the form-level, I >> first insert a blank playlists record, and then use a SQLFORM or CRUD to >> update the newly inserted record. I can't submit an incomplete form, but I >> can insert an incomplete record and mark the "finished" column as false. >> >> This way, the playlist id already exists and I can save the >> playlist_tracks to the reference table. The validators will still apply >> when the user submits the form. >> >> > As long as the "finished" field is adequate protection from having an > incomplete or invalid entry messing up some of your db table processing at > a later time if the user doesn't correct the form. I think I would have > done something with storing partials in the session, but maybe one the > Respected Regulars has some alternative advice. > > /dps > > > >> On Saturday, November 23, 2013 6:50:19 PM UTC-8, Mark Li wrote: >>> >>> >>> I currently have 2 tables as follows, with a form containing values both >>> tables >>> >>> db.define_table('playlist', >>> Field('title', notnull=True), >>> Field('description'), >>> Field('tags'), >>> Field('genre', 'reference genre') >>> Field('finished', 'boolean') >>> ) >>> >>> db.define_table('playlist_tracks', >>> Field('playlist', 'reference playlist'), >>> Field('songname') >>> ) >>> >>> >>> >>> The form to add playlist_tracks is dynamic; a user enters a songname, >>> which appends an input element with value=songname. When the user submits >>> the form, if the form does not pass validation, then the playlist_tracks >>> will all disappear when the page reloads, since they were added dynamically. >>> >>> I want to prevent this from happening, as it can be very time consuming >>> to add all the playlist tracks. I want to save the playlist_tracks in the >>> reference table so they don't disappear, but it's not possible because >>> there is no 'playlist' reference (the playlist didn't pass validation). I >>> also want to give the user the option of "saving" an incomplete form to >>> work on later, which has the same problem because the incomplete form might >>> not pass validation, and thus there is no 'playlist' reference. >>> >>> What would be the best method of saving this incomplete form, so the >>> dynamically added playlist tracks will have a playlist reference? >>> >>> I was thinking about inserting the record with dummy default values, >>> after validation fails, but that has the disadvantage of automatically >>> filling a required field that the user didn't choose. For example, if a >>> user doesn't enter a title and doesn't select a genre from the select >>> drop-down, then after validation fails, I'll insert the record with >>> "Untitled Playlist" and genre==1 (and all other fields that passed >>> validation would remain unchanged) but still show the form errors. >>> >>> >>> -- > 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 a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/GG0oaBNSthE/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.