On 12/20/2010 05:52 PM, John Fabiani wrote:
> On Monday, December 20, 2010 12:12:12 pm marcelo nicolet wrote:
>> On 12/20/2010 05:03 PM, John Fabiani wrote:
>>> On Monday, December 20, 2010 11:49:02 am marcelo nicolet wrote:
>>>> Thank you, Ed.
>>>> In fact, I was reading about the internals of psycopg and the module
>>>> interprets python lists as postgres arrays and the other way.
>>>> The only thing I would need, then, is to "present" that list to dabo as
>>>> discrete values.
>>>> Where is the appropriate place to do that?
>>>> TIA
>>>>
>>>> On 12/20/2010 04:09 PM, Ed Leafe wrote:
>>>>> On Dec 19, 2010, at 5:39 PM, marcelo nicolet wrote:
>>>>>> But it would be nice to take advantage of  the arrays this engine
>>>>>> supports. In fact, the business model of the project focuses on a
>>>>>> vector of integers, which is very inconvenient to manage in true
>>>>>> normalized form, and also as a set of scalars in the same relation.
>>>>>> So, I am asking for an example of how to integrate non standard types
>>>>>> from the backend into dabo.
>>>>>>
>>>>>   I would assume that you would have to create custom handlers for
> these
>>>>>   data types. I would imagine that psycopg would make the necessary
>>>>>   conversion from the PostegreSQL datatype to the nearest Python type
>>>>>   (list in this case). I'm not sure how Dabo would handle lists as
>>>>>   column values, as I've never tried anything like that. However, if
>>>>>   you do try and get errors at the Dabo level, please paste the
>>>>>   tracebacks here so that we can see what would have to be improved in
>>>>>   order to handle these correctly.
>>>>>
>>>>> -- Ed Leafe
>>> I have several questions
>>> Is each of the array fields fixed in the number of elements?
>>> Is each element with in the array the same data type?
>>> Are you going to search on any of the elements?
>>> Will you be adding elements to the array?
>>>
>>>
>>> Johnf
>> Yes, they are of fixed size; all elements are integers (in this case, of
>> course). The arrays will not change in size once stored.
>> Regarding query, the arrays will be retrieved always in their entirety;
>> if the user request some filtering, it will be done programatically, not
>> at the backend level.
>
> Untested and just things I'd try first:
> First I believe the dbPostgres.py will return '?' as the datatype but the
> field name should be there.  So it might be possible to use the standard
> createBizobj() routine to create the bizobj.  Therefore,  you could use a
> virtual field routine to populate the added fields.  Of course you then need
> to handle the save (I think you will no matter what you do).
>
> Something like;
> self.VirtualFields = {'listitem1':self.getItem_1, 'listitem2':self.getitem_2,
> ...}
>
> def getitem_1(self):
>     listitems = self.Record.fieldname
>     return listitems[0]
>
> A second way would be to create a DataSource (manual define).  The write the
> method to retrieve the data and populate the DataSource/DataSet.
>
> Once the data is in a bizobj it should lend it self to all the filtering
> required.
>
> Then over write the bizob's save routine to populate the array.  Rebuild the
> list and pass it to psycopg.
>
> I try my hardest to always get everything into a DataSource first.  That way I
> can work within the Dabo framework and use all the tools.
>
> I will not say I haven't gone way outside of Dabo to get the job done because
> I have.  But I call that the 'dark side' and it's always better to work with
> the force Luke!
>
> Johnf
Thank you a lot!
Of course I would stay "in dabo" as completely as possible. I will post 
how things go.
Regards!
> _______________________________________________
> Post Messages to: [email protected]
> Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
> Searchable Archives: http://leafe.com/archives/search/dabo-users
> This message: 
> http://leafe.com/archives/byMID/[email protected]
>
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/[email protected]

Reply via email to