UserPropertyDataElement

class q2_sdk.hq.db.user_property_data_element.UserPropertyDataElementRow[source]

Bases: RepresentationRowBase

PropertyID: IntElement = 'PropertyID'
PropertyName: StringElement = 'PropertyName'
PropertyLongName: StringElement = 'PropertyLongName'
PropertyDataType: StringElement = 'PropertyDataType'
UserPropertyCategoryID: IntElement = 'UserPropertyCategoryID'
AllowUserEdit: BoolElement = 'AllowUserEdit'
AllowUserView: BoolElement = 'AllowUserView'
AllowCustView: BoolElement = 'AllowCustView'
class q2_sdk.hq.db.user_property_data_element.UserPropertyDataElement(logger, hq_credentials=None, ret_table_obj=None)[source]

Bases: DbObject

Programmatic access to the Q2 database. Not as flexible as a true ORM, but takes the guesswork out of database schemas and ensures safety in the transactions.

Parameters:
  • logger – Reference to calling request’s logger (self.logger in your extension)

  • hq_credentials (Optional[HqCredentials]) – HQ Connectivity Information (Defaults to settings file)

  • ret_table_obj (Optional[bool]) – Flag to return list of LXML elements if False or TableRow objects from DB calls if True (Defaults to settings file)

REPRESENTATION_ROW_CLASS

alias of UserPropertyDataElementRow

add_arguments(parser)[source]

Hook for subclassed DbObjects to add custom arguments.

async get(property_name_prefix, no_trunc=False, serialize_for_cli=False)[source]
Return type:

list[UserPropertyDataElementRow]

async get_by_id(user_property_element_id)[source]
async get_one(property_name_prefix, strict=False)[source]
async create(property_name, property_long_name, data_type='STR', category='Custom', allow_user_edit=False, allow_user_view=False, allow_cust_view=False)[source]
async update(property_name, property_long_name, serialize_for_cli=False)[source]
async get_by_category_name(user_property_category_short_name, no_trunc=False, serialize_for_cli=False)[source]
async delete(property_name, interactive=False)[source]

Note: this only works in the dev environment