Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why do I get "Too many indexed properties for entity" error just for 18 items in the list? (Python)

I have a list property

tag_list = db.StringListProperty()

This has been working fine so far, but today when I tried to write a list with 18 items I got the Too many indexed properties for entity: error. I think this is a case of "exploding indexes."

This is my query:

query = Main.all()
query.filter("url =", url)
query.filter("owner =", user)

Reading the documentation my understanding is that this error will be triggered for cases where there are 2000+ items in the list. If this is triggered for 18 items, then, what am I doing wrong and how can I fix this? Thanks.

Update with more code:

    query = Main.all()
    query.filter("url =", url)
    query.filter("owner =", user)

    e = query.get()

    if e:
        e.tag_list = user_tag_list
        e.pitch = pitch_original
        e.title = title_ascii
        e.put()

        main_id = e.key().id()

    else:
        try:
            new_item = Main(
                url = url,
                tag_list = user_tag_list,
                pitch = pitch_original,
                owner = user,
                #title = unicode(title, "utf-8"),
                title = title_ascii,
                display = True)
            #this is where the error occurs in the logs              
            new_item.put()

And this is the list:

user_tag_list = [u'box', u'jquery', u'working', u'enter', u'initially', u'text', u'showing', u'javascript', u'overflow', u'focus', u'stack', u'field', u'impossible', u'input', u'hidden', u'element', u'toggling', u'toggled']
like image 706
Zeynel Avatar asked Oct 10 '22 18:10

Zeynel


1 Answers

This is because of exploding indexes.

like image 137
Daniel Roseman Avatar answered Oct 12 '22 09:10

Daniel Roseman