db.define_table(
'entities',
Field('uuid', length=64, default=lambda: str(uuid.uuid4())),
Field('entity', 'string',length=70,required=True, label=T("Entity")),
Field('description', length=100,label=T("Description"), default=""),
Field('status', db.status),
Field('type', 'reference dbentities', label=T("Type")),
Field('sub_type', "reference subtypes", label=T("Type")),
Field('event','string',length=10),
Field('trailevent', 'list:integer'),
Field("last_error", default=""),
Field('extrareaders', 'list:reference auth_user'),
Field('extrafield', db.extrafields, requires=IS_EMPTY_OR(
Field('relatedto', 'reference entities', requires=IS_EMPTY_OR(
Field('file', 'upload', label="Ficheiro"),
Field('valstart', 'date', label="Válido de",
default=datetime.datetime.utcnow()),
Field('valend', 'date', label="Válido até",
default=datetime.datetime.utcnow()),
Field('orderedat', 'float'),
Field('question','string'),
Field('qt','double'),
Field('units','string',length=5),
Field('readers', 'list:string', default=[""]),#friend uuid
Field('details','json'),
auth.signature,
format='%(type)s %(entity)s',
)