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.

Reply via email to