[Zope] Looking if a record with a given key exists in a database several times, in dtml
Steve Spicklemire
steve@spvi.com
Sun, 17 Feb 2002 15:12:39 -0500
Your idea sounds reasonable.. are you asking how to implement it, or is
there some other problem? I would think you could create a python script
that returns a dictionary that could be used to lookup results.
Something like:
buildCache with argument "results"
cache_dict = {}
for result in results:
cache_dict[result.key] = result
return cache_dict
-----------------
called from DTML as:
<dtml-let theCache="buildCache(results=yourQuery())">
<dtml-in ....>
<dtml-if "theCache.has_key(yourTestKey)">
<dtml-let theResult="theChache[yourTestKey]">
Do something with "theResult"..
</dtml-let>
</dtml-if>
</dtml-in>
</dtml-let>
Does that help?
-steve
On Sunday, February 17, 2002, at 02:42 PM, Igor Leturia wrote:
> Hi all!
>
> I have a problem: in dtml, I have to iterate through a very big list
> and for each item I must look if there is a record with that key in a
> database. I can't run a 'select' ZSQLMethod for each, because it would
> take too long. What I want to do is run the 'select' ZSQLMethod once and
> load the results in a variable (an array or dictionary) which then will
> be faster to look up in, or look up in the results of that query in some
> fast way.
>
> I have searched zope.org, but found nothing. Any ideas?
>
> Igor Leturia
>
> _______________________________________________
> Zope maillist - Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )