class User(db.Document): # name = db.StringField(required=True, unique_with='company_ref', min_length=4) name = db.StringField(required=True) password = db.StringField(required=True, max_length=64) is_password_expired = db.BooleanField(default=False) company_ref = db.ReferenceField(Company, required=True, reverse_delete_rule=db.CASCADE) sipline_ref = db.ReferenceField(SipLine, unique_with='company_ref', sparse=True, reverse_delete_rule=db.NULLIFY) privileges_ref = db.ReferenceField(UserTypes, required=True, reverse_delete_rule=db.DENY) email = db.EmailField() departments_ref = db.ListField(db.ReferenceField(Department, reverse_delete_rule=db.PULL), default=list) departments_intercept_ref = db.ListField(db.ReferenceField(Department, reverse_delete_rule=db.PULL), default=list) mobile_number = db.StringField() hide_left_menu = db.BooleanField(default=False)