Using Mongoengine and trying to form a tag cloud. To each item I would like to attach one or more tags. Something similar like the tags are used here (below each question asked).
After searching and reading many posts here, I still can't the proper way of adding new entries to a ListField
, or how to replace them.
class Item(Document):
tags = ListField(StringField(max_length=300))
I'm trying to push one or more new tags, by using a form and gather the posted results. In my views.py
I have the following check:
if 'tags' in request.POST and request.POST['tags'] <> '':
for Tag in request.POST.getlist('tags'):
ItemData.update(push__tags__S__tags=Tag)
When trying to push it, it fails:
ValidationError (Profile:5185505b73ea128e878f4e82) (Only lists and tuples may be used in a list field: ['tags'])
Obviously I'm using the wrong type, but I'm lost on how to get this one solved. Strange thing is that for some reason the data is appended to the record though.. (posted "test" and refreshed browser)
"tags" : [ "test", "test" ] }
Can one show me a small example how to deal with a posted string (from a HTML form) and push it properly into a ListField
(and how to replace them all).