db.property.property_type.writable = False Anthony
On Wednesday, April 18, 2012 4:32:02 PM UTC-4, leftcase wrote: > > I've put this into the controller to test this out: > > def create_newbuild(): > #newbuild and resale properties share the same table. > #the extraneous fields are rendered non-writable by the below > db.property.land.writable = False > db.property.reference_number.writable = False > db.property.habitable_area.writable = False > db.property.utilities.writable = False > db.property.address.writable = False > db.property.postcode.writable = False > db.property.land.readable = False > db.property.reference_number.readable = False > db.property.habitable_area.readable = False > db.property.utilities.readable = False > db.property.address.readable = False > db.property.postcode.readable = False > db.property.property_type.default="2" #select the newbuild property > type and hide the option from the user > db.property.property_type.readable = False > form=SQLFORM(db.property) > if form.process().accepted: > response.flash = 'form accepted' > elif form.errors: > response.flash = 'form has errors' > else: > response.flash = 'please fill out the form' > return dict(form=form) > > Strange thing is though that the property_type field still appears on the > form. Any ideas why? > > Thank you, > > Chris > > On Wed, Apr 18, 2012 at 3:43 PM, Chris Rowson <christopherrow...@gmail.com > > wrote: > >> Thanks for confirming this for me, this did seem to be the most sensible >> way to approach the problem :-) >> >> Chris >> >> >> On Wed, Apr 18, 2012 at 1:04 AM, simon <simo...@gmail.com> wrote: >> >>> You can do this with a single form. At the top of the controller set >>> readable=false, writable=false for the fields you do not want on the form. >>> >>> On Tuesday, 17 April 2012 23:44:54 UTC+1, leftcase wrote: >>> >>>> I'm a new adopter of web2py and I'm trying to learn the framework by >>>> building a simple property site. >>>> >>>> I have two types of properties, new or old. >>>> >>>> New properties have a few core attributes, let's say name, price, >>>> location, bedrooms >>>> >>>> Old properties have the same core attributes with a few more added on, >>>> for instance utilities, land, lease type. >>>> >>>> I've tried making a table for new properties and a table for old >>>> properties but it seems to complicate things if I for instance want to >>>> list >>>> all types of properties (new and old) and order by price (I've been >>>> struggling to figure out how to aggregate the results from both tables >>>> then >>>> order by price). >>>> >>>> Would it make more sense to have one table with all of the fields for >>>> new and old properties and simply create two different forms with >>>> different >>>> fields exposed depending on whether or not the user wants to create a new >>>> or an old property? >>>> >>>> Thanks in advance, >>>> >>>> Chris >>>> >>> >> >