> Do you have 2 list properties? A single list property won't cause exploding
> indexes. Can you post the whole property?
Thanks for your help!
Do you mean "Can you post the whole class?" ? Here it is, the list
property that explodes is the first property:
class Report(db.Model):
# List of tags for this report, i.e. ['seattle', 'rockroll_rep',
'rock', 'zztop', 'qwest_field'].
tags = db.ListProperty(basestring, required=True,
validator=are_valid_tags)
status = db.StringProperty(required=True, choices = ['PENDING',
'APPROVED', 'DECLINED', 'FLAGGED'], default = 'PENDING')
# If status is PENDING, the reason is detailed here
pending_reason = db.TextProperty(default='')
# If status is FLAGGED, the reason is detailed here
flagged_reason = db.TextProperty(default='')
# The report, first line is the headline.
text = db.TextProperty(default='')
# URL with more info about this report.
url = db.StringProperty(default=None, validator=is_valid_url)
# Editor that approved this report. Could be None if report submitted
from an 'APPROVED' reporter.
editor = db.ReferenceProperty(Reporter,
collection_name='approved_reports', default=None)
# Date/time of insertion of this report into the system.
creation_time = db.DateTimeProperty(auto_now_add=True)
# Date/time of approval of this report, might be the same as
creation_time if it was automatically approved.
approval_time = db.DateTimeProperty(auto_now_add=True)
On Sep 20, 9:35 am, "Ikai Lan (Google)" <
ikai.l+gro...@google.com>
wrote:
> On Mon, Sep 20, 2010 at 11:56 AM, DevShop <
don.bart...@gmail.com> wrote:
> > Ikai, thanks for the prompt response.
>
> > Here's our situation: records on entity 'Report' are tagged with
> > multiple keywords ('tags') like: 'music', 'event', 'downtown',
> > 'zz_top', 'concert', 'g_arena', 'september', '2010'. People might
> > search for events downtown in September like this:
>
> >
city.domain.com/tags/event/september/2010/downtown
>
> > So we are using a 'tags = db.ListProperty(basestring, required=True,
> > validator=are_valid_tags)' in our table with queries like:
>
> > reports = db.Query(Report).filter('tags =', subdomain)
> > for tag in tags:
> > reports = reports.filter('tags =', tag)
> > reports = reports.order('-approval_time').fetch(int(25))
>
> > Advice and/or insight would be much appreciated!
>
> > On Sep 20, 7:59 am, "Ikai Lan (Google)" <
ikai.l+gro...@google.com<
ikai.l%2Bgro...@google.com>
> > <
google-appengine%2Bunsu...@googlegroups.com<
google-appengine%252Buns...@googlegroups.com>