Mongoengine を使用して、タグ クラウドを形成しようとしています。各アイテムに 1 つ以上のタグを付けたいと思います。タグのようなものがここで使用されています (各質問の下)。
ここで多くの投稿を検索して読んだ後でも、ListField に新しいエントリを追加する適切な方法、またはそれらを置き換える方法がまだわかりません。
class Item(Document):
tags = ListField(StringField(max_length=300))
フォームを使用して 1 つ以上の新しいタグをプッシュし、投稿された結果を収集しようとしています。私のviews.pyには、次のチェックがあります。
if 'tags' in request.POST and request.POST['tags'] <> '':
for Tag in request.POST.getlist('tags'):
ItemData.update(push__tags__S__tags=Tag)
プッシュしようとすると失敗します:
ValidationError (Profile:5185505b73ea128e878f4e82) (リスト フィールドで使用できるのはリストとタプルのみです: ['tags'])
明らかに間違ったタイプを使用していますが、これを解決する方法がわかりません。奇妙なことは、何らかの理由でデータがレコードに追加されていることです..(「テスト」を投稿し、ブラウザを更新しました)
「タグ」: [「テスト」、「テスト」] }
投稿された文字列を (HTML フォームから) 処理し、ListField に適切にプッシュする方法 (およびそれらすべてを置き換える方法) の小さな例を教えてください。
ありがとう!