docs: def lock(self, *args):
          """
          Lock table(s).
  
          Locks the object model table so that atomic update is possible.
          Simulatenous database access request pend until the lock is unlock()'ed.
  
          See http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html
  
          @param *args: Models to be locked - if None then self.model is used.
          """
          if not args:
              args = [self.model]
          cursor = connection.cursor()
          tables = ", ".join(['%s WRITE' % connection.ops.quote_name(model._meta.db_table) for model in args])
          logger.debug('LOCK TABLES %s' % tables)
          cursor.execute("LOCK TABLES %s" % tables)
          row = cursor.fetchone()
          return row