私は、db.ListProperty(db.Key)型のタグと呼ばれるプロパティを持つモデルを持っています。アプリケーションは、エンティティに新しいタグを追加することになり、追加されたタグが既にリストの一部として存在する可能性があります。db.ListPropertyは、重複するキーを避けるためにset()のように機能しますか?
class Entity(db.Model):
tags = db.ListProperty(db.Key)
アプリエンジンがそれらをどのように処理しますか?重複は避けられますか?それとも私たちが何かしなければならないん
ListProperty
implementationを見て
entity.tags = list(set(entity.tags.extend(new_tags_list)))
ありがとうございました。したがって、モデルファイルでListPropertyをサブクラス化し、検証をオーバーライドしますか?それとも別のやり方でやっていますか? –
サブクラス化は、複数のモデルでこの種のプロパティを使用したい場合に意味があります。そうでない場合、回避策は1つの場所でのみ使用されていると簡単に見えます。 – proppy