the_list = list(set(the_list))
,
但你如何实现这一点,这是自动的,我不考虑这个?
答案 0 :(得分:2)
有三种想法:
答案 1 :(得分:1)
另一个选择是子类ndb.Property。这里有几个例子: https://cloud.google.com/appengine/docs/python/ndb/subclassprop
答案 2 :(得分:0)
我相信正确的策略是构建一个自定义的SetProperty,它是ListProperty的子类,以强制执行您的要求。
阅读Subclassing属性。 https://cloud.google.com/appengine/docs/python/ndb/subclassprop
我认为这是实现此类属性的正确方法,而不是_pre_put挂钩。通常来不及进行适当的验证和反馈。
您可以编写自定义setter,但是setter不能是属性的名称,所以这看起来很奇怪。
另一种选择是使用允许强制该值的验证器。见https://cloud.google.com/appengine/docs/python/ndb/properties#options