I created a view as you suggested. However, when I ran the view in SQLForm.grid() I received a web2py error that the 'id' did not exist (which is doesn't). As a hack to get around this, I manually created a column named 'id' and hard-coded the value to '1' because my grid is display only and no actions can be performed. This required an alias in my SQL, so I gave it an alias exactly matching the name of the view. That was more creative than I wanted to get but it works.
On Friday, April 28, 2017 at 8:38:35 AM UTC-4, Anthony wrote: > > Create a view or materialized view in the db, and then just create a DAL > model based on that view (turn off migrations for that model so the DAL > does not attempt to create a table for it). From that point, you can use > that model for queries via the DAL. > > Anthony > > On Thursday, April 27, 2017 at 10:25:35 PM UTC-4, George D Elig wrote: >> >> Postgres supports views and stored procedures. Assuming I can create a >> query statement to call a view or stored procedure, can't that query be >> passed to SQLFORM? >> >> On Apr 27, 2017, at 1:20 PM, Richard Vézina <ml.richa...@gmail.com >> <javascript:>> wrote: >> >> You surely can create a view, if you can, you can mimic one with >> db.executesql() where you do your union, and then construct you grid with >> web2py html HELPERS() or other means... Sadly you can use SQLFORM.grid() as >> previously said but it not a big deal as you avoid convulated form >> processing to maintain in sync an unionize entity which would be a pretty >> bad idea as if you can't improve schema this probably mean your app is not >> the only system accessing this database which may lead to an off sync >> unionize entity... >> >> Richard >> >> On Thu, Apr 27, 2017 at 12:30 PM, Anthony <abas...@gmail.com >> <javascript:>> wrote: >> >>> Does your database support views/materialized views? >>> >>> Anthony >>> >>> >>> On Thursday, April 27, 2017 at 8:48:26 AM UTC-4, George D Elig wrote: >>>> >>>> Unfortunately, I cannot combine the two tables. The existing product >>>> uses one of them extensively for queue processing and I don't want to >>>> possibly break any of that functionality. All I want to do is update the >>>> SQLFORM with information from the new table. I can use db.executesql but >>>> won't that require me to remove SQLFORM? If so, is there another framework >>>> element I can leverage for displaying the rows? >>>> >>>> On Wednesday, April 26, 2017 at 8:14:05 PM UTC-4, Alfonso Serra wrote: >>>>> >>>>> You can try: >>>>> sql = """ >>>>> SELECT * FROM table1 >>>>> UNION SELECT * FROM table2""" >>>>> >>>>> rows = db.executesql(sql, fields = [ >>>>> Field("name", "string") >>>>> , Field("age", "integer") >>>>> , Field("apt_time", "datetime") >>>>> ]) >>>>> >>>>> >>>>> >>>>> Always that both tables are the same size and types. >>>>> Then style your view however you like. >>>>> >>>>> It is true the table structures are not good. Theres no need for 2 >>>>> tables to store animals. just one with an animal type field to >>>>> distinguish >>>>> between cats, dogs, birds, etc. >>>>> >>>>> -- >>> 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+un...@googlegroups.com <javascript:>. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> 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/lnjK7nibOqw/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> web2py+un...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> >> -- 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/d/optout.