コード例 #1
0
 def delete_term(cls, taxonomy: Taxonomy, term: TaxonomyTerm):
     """Delete a taxonomy term.
     :param taxonomy: taxonomy of the term
     :param term: term instance to be deleted
     :raise TaxonomyDeleteError
     """
     taxonomy.lock()
     before_taxonomy_term_deleted.send(term, taxonomy=taxonomy, term=term)
     check_references_before_delete(term, taxonomy=taxonomy, term=term)
     term.delete()
     db.session.commit()
     after_taxonomy_term_deleted.send(term, taxonomy=taxonomy, term=term)
コード例 #2
0
 def update_term(cls, taxonomy: Taxonomy, term: TaxonomyTerm, changes) -> TaxonomyTerm:
     """Updates a taxonomy term.
     :param taxonomy: taxonomy instance of the term
     :param term: term instance to be updated
     :param extra_data: new term metadata
     :return TaxonomyTerm: updated taxonomy term
     """
     taxonomy.lock()
     before_taxonomy_term_updated.send(term, term=term, taxonomy=taxonomy,
                                       extra_data=changes['extra_data'])
     term.update(**changes)
     db.session.commit()
     after_taxonomy_term_updated.send(term, term=term, taxonomy=taxonomy)
     return term