Могу ли я ограничить длину ListField
данных в mongoengie без if
условие?
Мне нужно что-то вроде этого:
list = db.ListField(IntField(), max_length = 24)
в моем document
.
Или мне нужно проверить длину моего списка, когда он будет обновляться, и не обновлять его, если длина моего списка больше 24!
Там нет ничего, как это встроенный в ListField
, но вы можете сделать свой заказ ListField
обеспечивая max_length
атрибут:
class MyListField(ListField):
def __init__(self, max_length=None, **kwargs):
self.max_length = max_length
super(MyListField, self).__init__(**kwargs)
def validate(self, value):
super(MyListField, self).validate(value)
if self.max_length is not None and len(value) > self.max_length:
self.error('Too many items in the list')
**kwargs
и функцииsuper
иvalidate
не могли бы вы рассказать о них?